MVC、MVP、MVVM架构模式--简单说

这三种架构模式模式可以说是行业必备知识,不管是开发人员还是需求产品设计人员,都能说上两句。

不过对于开发人员面试的时候还是会经常被问到。

一、MVC(Model-View-Controller)

MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。

(实际上开发过程中是v-c-m-c-v,v和m并没有关系,下图仅代表经典的mvc模型)

MVC、MVP、MVVM架构模式--简单说

二、MVP(Model-View-Presenter)


View: 对应于Activity和xml,负责View的绘制以及与用户交互
Model: 依然是实体模型
Presenter: 负责完成View于Model间的交互和业务逻辑

MVP是对MVC的进一步改进

MVC、MVP、MVVM架构模式--简单说

三、MVVM(Model-View-ViewModel)

它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。

这方面典型的应用有.NET的WPF,js框架Knockout、AngularJS等。

MVC、MVP、MVVM架构模式--简单说