MVC、MVP、MVVM 简记

MVC
  • Model :数据模型,管理数据
  • View :视图,呈现界面
  • Controller:控制器,业务逻辑

这三层之间的通信流程是 :

  • View 传指令(用户操作)给 Controller
  • Controller 处理请求,然后通知 Model 处理数据状态
  • Model 处理完后,通知 View 更新界面,完成交互

View 做的工作比较多,流程如下图所示:

MVC、MVP、MVVM 简记_第1张图片
MVC通信
MVP

MVC 类似,只是把 C 改为了 P (Presenter)。ViewModel 不再直接通信

  • Model :数据模型,管理数据
  • View :视图,呈现界面
  • Presenter:控制器,业务逻辑

这三层之间的通信流程是:

  • View 传指令(用户操作)给 Presenter
  • Presenter 处理请求,然后通知 Model 处理数据状态,Model 处理完后,返回新的数据给 Presenter
  • Presenter 拿到新的数据后返回给 View,更新界面,完成交互

从上面的流程可以看出,Presenter 会比较厚重一些,流程如下图所示:

MVC、MVP、MVVM 简记_第2张图片
MVP通信
MVVM

MVP 类似,只是把 P 改为了 VM (ViewModel)。

  • Model :数据模型,管理数据
  • View :视图,呈现界面
  • ViewModel:控制器,业务逻辑

MVVM 中,实现了 ViewViewModel 之间的数据绑定 data binding,它们之间任何一方的改动,会立刻映射到另一方。

流程如下图所示:

MVC、MVP、MVVM 简记_第3张图片
MVVM通信

你可能感兴趣的:(MVC、MVP、MVVM 简记)