MVC
程序可分为三个部分:
- 模型 (Model):数据保存
- 视图(View):用户界面
- 控制器(Controller):业务逻辑
各部分通信方式:
- View 传送指令到 Controller
- Controller 完成业务逻辑后,要求 Model 改变状态
- Model 将新的数据发送到 View
实例:Backbone 的 View 很厚重,主要代码逻辑都在里面,而 Controller 很薄弱,只保留了一个 Router
互动模式:
一、
二、
MVP
MVP 模式将 Controller 改名为 Presenter,同时修改了通信方向
- 各部分之间的通信都是双向的
- View 和 Model 不发生联系,都通过 Presenter 传递
- View 很薄弱,而 Presenter 很厚重,所有代码逻辑都在里面
MVVM
MVVM 模式将 Presenter 改名为 ViewModel,基本与 MVP 模式相同
唯一的区别是,它采用了数据双向绑定(data-binding):View 的变动,自动反映在 ViewModel ,反之亦然