MVVM、MVC、MVP的区别

71 阅读1分钟

MVC

  • Model(模型), Controller(控制器), View(视图)

image.png

image.png

MVP

  • 从MVC演变而来
  • Controller/Presenter(发布层)负责逻辑的处理,Model(模型:提供数据),View(负责显示)
  • Presenter完全把View和Model进行了分离,主要的程序逻辑在Presenter里实现。而且,Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View的时候可以保持Presenter不变

image.png

MVVM

  • ViewModel(发布层)负责逻辑的处理,Model(模型:提供数据),View(负责显示)
  • View的变化会自动更新到ViewModel , ViewModel的变化也会自动同步到View上显示。这种自动同步是因为ViewModel中的属性实现了Observer( 观察者模式 ),当属性变更时都能触发对应的操作

image.png

image.png

-------------------------------------------------------------------------------2024.5.23每日一题