MVC
-
Model
:数据模型,管理数据 -
View
:视图,呈现界面 -
Controller
:控制器,业务逻辑
这三层之间的通信流程是 :
-
View
传指令(用户操作)给Controller
-
Controller
处理请求,然后通知Model
处理数据状态 -
Model
处理完后,通知View
更新界面,完成交互
View
做的工作比较多,流程如下图所示:
MVP
和 MVC
类似,只是把 C
改为了 P
(Presenter)。View
和 Model
不再直接通信
-
Model
:数据模型,管理数据 -
View
:视图,呈现界面 -
Presenter
:控制器,业务逻辑
这三层之间的通信流程是:
-
View
传指令(用户操作)给Presenter
-
Presenter
处理请求,然后通知Model
处理数据状态,Model
处理完后,返回新的数据给Presenter
-
Presenter
拿到新的数据后返回给View
,更新界面,完成交互
从上面的流程可以看出,Presenter
会比较厚重一些,流程如下图所示:
MVVM
和 MVP
类似,只是把 P
改为了 VM
(ViewModel)。
-
Model
:数据模型,管理数据 -
View
:视图,呈现界面 -
ViewModel
:控制器,业务逻辑
在 MVVM
中,实现了 View
与 ViewModel
之间的数据绑定 data binding
,它们之间任何一方的改动,会立刻映射到另一方。
流程如下图所示: