美文网首页程序员
软件架构-01 mvc到flux

软件架构-01 mvc到flux

作者: Gaizka | 来源:发表于2018-11-14 15:07 被阅读178次

学习mvc到Flux框架我们先了解

flux 背景:React.js 和Angular.js对比:React.js 是一个视图层的类库lib,我们可以把它当作模版引擎使用,输出html,但是我们无法单独用它输出一个完整的app,而angular的定位是一个框架(framework)。angular自带模板引擎,路由引擎,有健全的数据双向绑定机制,内置Ajax请求功能,还能够定义Model。而React.js类库只能用于定义视图组件。为了补react.js 自身的缺点,后来引入了Flux框架。


哪有人会问 flux跟MVC有什么关系呢? 接下来我们通过分析MVC、flux的设计原理找到他们的关系。

MVC:

理解MVC : https://blog.csdn.net/bobo89455100/article/details/61623242

MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。

原理图:

demo事例:

有图可以看出: controller和model是双向交互数据的

MVC优点:是使用 controller将view和model 分离,实现解耦。 

MVC缺点: 代码抽象、要创建多个文件夹,着重大型项目使用,除此之外就是 controller和model的交互数据流是双向的,不能保证数据的安全性。因此出现了Flux.



Flux架构:

原理图:

总结原理图:

1、主要由三个部分组成:

action:对事件进行描述以及处理参数传递,驱动dispatcher

Dispatcher: 实现对是行为的派发

store: 储存数据 处理原始数据  继承eventEmitter 实现

2、

优点:

由上图可以看出 flux跟MVC的原理优点相似,目的都是将视图和数据分离开,但是flux采用的束流流向是单向的。上层不会过多的处理数据内容,保证数据的唯一性。

缺点:

一个应用可以拥有多个store,多个store直接可能有依赖关系(相互引用);

Store封装了数据和处理数据的逻辑。

每个项目不一定都是将flux源码原封不动拿来用,我们1期的项目是直接拿的flux的源码,二期根据它的思想写成systemBus 程序一初始化,将所有需要回调的事件全部注册在这个systemBus里(说白了就是上车)支持hook 中间件操作。



flux demo  git地址:https://github.com/Gallagher1126/flux-demo.git

2期是擦考flux的设计理念写的 ,后期会上传!

实现原理:

1、继承于store的管理类,使用store里的register实现注册  将带有一个action参数的回调函数传入dispatcher的register

2、发送登录action ,使用dispatcher去像每个注册的管理类发消息 

3、每个管理类收到停止如果是自己关心的类型就去执行响应的操作,完成操作后执行回调函数返回数据或者结果。

下一节: 看下软件架构-02  flux-> redux  




相关文章

  • 软件架构-01 mvc到flux

    学习mvc到Flux框架我们先了解 flux 背景:React.js和Angular.js对比:React.js ...

  • Flux 架构

    Flux 是什么? 简单说,Flux 是一种架构思想,专门解决软件的结构问题。它跟MVC 架构是同一类东西,但是更...

  • flux学习

    Flux是什么? Flux 是一种架构思想,专门解决软件的结构问题。它跟MVC 架构是同一类东西,但是更加简单和清...

  • Promise学习资料 - 收藏集 - 掘金

    Flux 架构模式 - 前端 - 掘金 在说flux模式之前,我们先说说mvc和mvvm模式 MVC模式 ... ...

  • Flux架构模式

    Flux架构模式 在说flux模式之前,我们先说说mvc和mvvm模式 MVC模式 通过关注数据界面分离,来鼓励改...

  • Flux框架

    Flux用来解决React在结构上的问题,从Flux也衍生了Redux,Flux也类似MVC这一类的架构,Flux...

  • Android开发之Flux架构

    Android开发之Flux架构 什么是Flux? Flux是一种软件开发架构,开发流程遵循Restful的点对点...

  • 复杂 Web 应用的状态管理思考

    目录 1.背景 2.一个常见的多个组件共享状态的问题 3.MVC 架构 4.Flux 架构 5.MVC 与 Flu...

  • 第46期 带你走进医疗行业的体验设计 & 前端开发与架构师 &

    前端架构101:从 Flux 进化到 Model-View-Presenter 在 Flux 架构中,有两个问题依...

  • 从0开始的Redux旅程(一)

    前置知识点 深拷贝与浅拷贝 FLUX架构 数据库模型 无论是MVC,MVVM,还是现如今的Flux,最强调的一点就...

网友评论

    本文标题:软件架构-01 mvc到flux

    本文链接:https://www.haomeiwen.com/subject/lwddfqtx.html