MVC、MVP和MVVM模式
1. MVC模式
MVC组成
- 视图(View):用户界面
- 控制器(Controller):业务逻辑
- 模型(Model):数据保存
MVC通信过程
-
Wiew
传送指令到Controller
-
Controller
完成业务逻辑后,要求Model
改变状态 -
Model
将新的数据发送到View
,用户得到反馈
用户进行操作时,MVC可以分成两种方式,一种是通过View
接受指令,传递给Controller
另一种是直接通过Controller
接受指令
2. MVP模式
MVP
模式将Controller
变成Presenter
,同时也改变了通信方向
- 各部分之间的通信,都是双向的
-
View
与Model
不发生联系,都是通过Presenter
传递 -
View
非常薄,不部署任何业务逻辑,称为被动视图(Passive View)
,即没有任何主动性;而Presenter
非常厚,所有逻辑都部署在哪里
3. MVVM模式
MVVM
模式将Presenter
变成ViewModel
,基本上与MVP模式完全一致,唯一的区别是,它采用双向绑定(data-binding)
,View的变动,自动反应在ViewModel
,反之亦然。