木的土纪,第1日

2019-06-25(主流框架模型MVC,MVP,MVVM)


实验背景:react使用的是MVC框架和virtual Dom算法,单向数据流

                    Angular使用的MVVM的思想,双向数据绑定

                    VUE使用的MVVM的数据管理思想,同时应用了React的virtual Dom算法 ,双向数据绑定

实验原因:主要是在学习Vue,avalon,等主流前端开发框架对比时,说到各自使用的框架模型,故以了解

实验目的:#了解#主流框架模型

实验过程:MVC  MVP  MVVM

木的土纪,第1日
MVC

MVC 模型 简单来说,就是 model view controller 的首字母缩写

View 传送指令到 Controller

Controller 完成业务逻辑后,要求 Model 改变状态

Model 将新的数据发送到 View,用户得到反馈

所有通信都是单向的。


木的土纪,第1日
MVP

各部分之间的通信,都是双向的。

View 与 Model 不发生联系,都通过 Presenter 传递。

View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。

木的土纪,第1日
MVVM

唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。

这里面使用的设计模式有:观察者模式(发布订阅模式)、代理模式、工厂模式、单例模式。

实验结果:MVVM目前比较优越,其中VUE在框架中教优越,个人观点,同时推荐使用avalon

参考链接

https://www.jianshu.com/p/220729f01a25

http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html