什么是MVC 、MVVM、MVP

对MVC 、MVVM、MVP的理解

MVC模式的理解

MVC是应用最广泛的软件架构之一,一般MVC分为:

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

这主要是基于分层的目的,让彼此的职责分开。View一般通过Controller来和Model进行联系。ControllerModelView的协调者,ViewModel不直接联系。基本联系都是单向的。什么是MVC 、MVVM、MVP
1、View 传送指令到 Controller
2、Controller 完成业务逻辑后,要求 Model 改变状态
3、Model 将新的数据发送到 View,用户得到反馈

MVP模式的理解

MVP 模式将 Controller 改名为Presenter,同时改变了通信方向。
什么是MVC 、MVVM、MVP
1、各部分之间的通信,都是双向的。
2、View 与 Model 不发生联系,都通过 Presenter 传递。
3、View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。

MVVM模式的理解

MVVM 是把 MVCControllerMVPPresenter 改成了 ViewModel
View 的变化会自动更新到ViewModelViewModel的变化也会自动同步到View上显示。这种自动同步是因为ViewModel中的属性实现了Observer,当属性变更时都能触发对应的操作。
什么是MVC 、MVVM、MVP
什么是MVC 、MVVM、MVP
Model、View、ViewModel 三部分构成,Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。

  • 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。
  • ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理。

小崔这就是我对MVC、MVVM、MVP的理解