1.MVC
将软件分为三个部分,如下图所示。
三部分之间的通信方式如下:
1.View 传送指令到 Controller
2.Controller 完成业务逻辑后,要求 Model 改变状态
3.Model 将新的数据发送到 View,用户得到反馈
所有通信都是单向的
接收用户指令时,MVC可以分成两种方式:
- 通过View接收指令,传递给Controller
- 另一种是直接通过controller接受指令

2.MVP
MVP模式将Controller改名为Presenter,同时改变了通信方向。
各部分之间的通信是双向的
View 与 Model不发生联系,都通过presenter传递
View非常薄,不部署任何业务逻辑,称为“被动视图”(Passive View),即没有任何主动性,而Presenter很厚,所有的业务逻辑都部署在其中。
3.MVVM
1、 实现数据和视图的分离
2、通过数据来驱动视图,只需关心数据变化,DOM操作被封装
- View:视图
- Model:模型
- ViewModel:视图模型
View通过ViewModel的DOM Listeners将事件绑定到Model上,Model通过Date Bindings来管理View的数据,ViewModel从中起到一个连接桥作用
MVVM实现的主要三个点:
1.响应式:vue如何监听data的属性变化
2.模板解析:vue的模板是任何解析的
3.渲染:vue模板是如何被渲染成HTML的


