平时大家都说MVC、MVP、MVVM设计模式,但它们有什么区别呢?

1. MVC(Model-View-Controller)


MVC模式的意思是,软件可以分为三个部分。
MVC、MVP、MVVM的区别:

  • 视图(view):用户界面
  • 控制器(controller): 业务逻辑
  • 模型(Model): 数据保存

各部分之间的通信方式如下:
MVC、MVP、MVVM的区别:

  • view 传输指令到 controller
  • Controller 完成业务逻辑之后,要求Model改变状态。
  • Model将新的数据发送到View,用户得到反馈

二、MVP(Model-View-Presenter)


MVC、MVP、MVVM的区别:

  • 各部分之间的通信都是双向的。
  • View和Model不发生关系,都是通过Presenter。
  • 逻辑层都布在Presenter上。

3.MVVM(Model-View-ViewModel)


MVVM模式将 Presenter 改名为 ViewModel,基本上与MVC模式完全一致。
MVC、MVP、MVVM的区别:

唯一区别的是,它采用的是数据双向绑定,view的变动,自动反应在ViewModel上,反之亦然。就是说数据和模型互相绑定。、
MVVM框架有Angularjs、Ember。
参考教程:
http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html
http://www.cnblogs.com/guwei4037/p/5591183.html

相关文章: