MVC、MVP和MVVM开发模式对比

1.MVC(Model View Controller) 模式

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

MVC、MVP和MVVM开发模式对比

 

2.MVP(Model View Presenter)模式

MVP是把MVC中的Controller换成Presenter(呈现),目的是为了完全切断View跟Model之间的联系,由Presenter充当桥梁,做到View-Model之间通信的完全隔离。

MVC、MVP和MVVM开发模式对比

 

3.MVVM(Model View ViewModel)模式

如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。

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

MVC、MVP和MVVM开发模式对比