MVC,MVP,MVVM
MVC
- view 视图 :用户界面
- Controller 控制器:业务逻辑
- Model 模型 :数据保存
- 所有的通信都是单向的
- view传送指令到Controller
- Cotroller完成业务逻辑后,要求Model改变状态
- Model将新的数据发送到View,用户得到反馈
互动模式
- 接受用户指令时,MVC可以分为两种,一种是通过view接受指令,传递给Controller
- 另一种是直接通过controller接受指令
实例Backbone
- 用户向view发送指令(DOM事件),再由view直接要求model改变状态
- 用户也可以直接向Controller发送指令(改变URL触发hashChange事件),再由Controller发送给View
- controller只起到路由的作用,所以Backbone取消了controller,只保留了一个router
MVP
- MVP将controller改为presenter,同时改变了通信方向,各部分的通信都是双向的
- view不部署任何业务逻辑,成为被动视图,没有任何主动性;所以逻辑部署都在prenster
MVVM
-
基本上与mvp一致
…(img-E8bFmLnQ-1600351311404)] -
基本上与mvp一致
-
它采用的是双向绑定(data-binding),view的变动,自动反映在viewModel