MVC/MVP/MVVM

本文最后更新于:2021年6月1日 晚上

MVCModel-View-Controller

View->Controller->Model
^                     |
|                     v
<---------------------<
  • View可以访问Model,不可避免的会包含一些业务逻辑,导致特定View依赖特定Model
  • 视图的更新逻辑由View自己完成
  • View监听Model改变的的广播
  • 用户可以操作View或者直接操作Controller

MVPModel-View-Presenter


View <--> Presenter <==> Model
  • ViewModel 之间通过 Presenter解偶

  • 主要的程序逻都在Presenter中,接受Model层的数据,并且处理之后传递给View层,还需要处理View层的用户交互等操作。

  • View不部署任何业务逻辑,被动视图,只提供接口

  • Model改变的的广播由Presenter监听

MVVMModel-View-ViewModel


View <==> ViewModel <==> Model
  • ViewModel可以理解为是MVP中View的数据模型和Presenter的合体
  • 以前全部由Presenter负责的ViewModel之间数据同步操作交由框架实现双向绑定

MVC/MVP/MVVM
http://yoursite.com/2022/02/24/mvcmvpmvvm/
作者
tatekii
发布于
2022年2月24日
许可协议