MVC
视图(view):用户界面
控制器(Controller):业务逻辑
模型(Model):数据保存
部件之间的交互方式(部件之间交互是单向的)
view传送指令到Controller
Controller完成业务逻辑后,要求Model改变状态
Model将新的数据发送到view,用户得到反馈
这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。
交互方式
通过view指令
通过controller接受指令
MVVM
数据模型(Model)也可以在Model中定义数据修改和操作的业务逻辑。
视图模型(ViewModel)监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步View和Model的对象,连接Model和View。
视图(view)它负责将数据模型转化成UI展现出来。
- 在MVM架构下,View和Model之间并没有直接的联系,而是通过ViewModel进行交互,
- Model和ViewModel之间的交互是双向的,因此View数据的变化会同步到Model中,而Model数据的变化也会立即反应到View 上。
- ViewModel通过双向数据绑定把View层和Model层连接了起来,而View和Model之间的同步工作完全是自动的,无需人为干涉
- 因此开发者只需关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统—管理。