zoukankan      html  css  js  c++  java
  • 始于Flux的单项数据流发展简单介绍

    差劲的程序员操心代码,优秀的程序员操心数据结构和它们之间的关系
                                                                              ————Linus Torvalds,Linux创始人
     
    Flux是由facebook推出的,用来解决MVC架构带来的数据管理问题。
    Flux是一种“单项数据流”的管理方式。
    在以前,采用MVC架构,MVC无法禁绝View和Model之间的直接对话,因此产生了View直接Model,Model直接修改View的情况。当项目复杂度度越来越高时候时,这种方式很容易造成数据管理混乱。
     
    而Flux的单项数据流,如果要改变界面,需要改变Store中的状态,如果要改变Store中的状态,必须派发一个action对象。Store对应于MVC中的Model,View对应于MVC中的View。单项数据流结果View只能获取Store中数据,但是不能直接修改,想要修改需要派发一个action给Dispatcher。Store本身并不具备直接改变View的功能。
     
    这样限制禁绝了数据流混乱的可能。
     
    后来基于flux的不足,诞生了reflux、fluxible、redux等,其中又以redux最受欢迎。
     
    redux在单项数据流的基础上,还强调三个基本原则:
    1,唯一数据源:也就是只有一个store
    2,保持状态只读:只能通过派发action改变
    3,数据改变只能通过纯函数完成
     
    对比Vue和React
    两者都采用了单项数据流的管理方式,相同的是都只有一个store,都只能通过派发事件修改store,不同的是Vue是直接修改Store中的数据,而react是返回一个新的state数据

    我站在山顶看风景!下面是我的家乡!
  • 相关阅读:
    Spring3系列4-多个配置文件的整合
    Spring3系列3 -- JavaConfig
    Spring3系列2 -- 松耦合的实现
    Spring3系列1 -- HelloWord例子
    Maven3路程(六)用Maven创建Spring3 MVC项目
    用Hibernate Tools生成Hibernate Mapping映射文件
    在Maven仓库中添加Oracle JDBC驱动
    Maven3路程(四)用Maven创建Struts2项目
    Maven3路程(三)用Maven创建第一个web项目(2)servlet演示
    Eclipse中集成Tomcat
  • 原文地址:https://www.cnblogs.com/zhensg123/p/14741551.html
Copyright © 2011-2022 走看看