一、MVVM模式:
1.MVVM构成
MVVM由Model, View, ViewMode三部分构成:
- Model:模型。数据模型,用于对数据的操作,表示当前页面渲染时所依赖的数据源。
- View:视图。表示当前页面所渲染的DOM结构,作用是将模型的数据转换成UI展示出来。
- ViewModel:视图-模型。用于同步Model和View。(表示Vue的实例,是MVVM的核心)
在MWVM架构下,View 和Model之间并没有直接的联系,而是通过ViewModel进行交互,Model 和ViewModel之间的交互是双向的,因此View 数据的变化会同步到Model中,而 Model数据的变化也会立即反应到View上。
ViewModel通过双向数据绑定把 View 层和Mode层连接了起来,而View和Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作 DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理。
2.MVVM模式图
二、MVC模式
1.MVC构成
MVC由Model, View, Controller三部分构成:
- Model:模型。数据模型,用于对数据的操作。
- View:视图。表示UI组件,作用是将模型的数据转换成UI展示出来。
- Controller:控制器。进行业务逻辑处理,Controller通过Model获取数据,进行处理之后,通过View将数据渲染出来。
注:MVC模式比MVVM模式效率低,因为MVC模式缺乏ViewModel,不会进行自动同步,在开发过程中开发人员需要不断干涉。