MVVM架构模式
MVVM是一种设计思想,全称是
Model-View-ViewModel
,由Model、View、ViewModel三部分组成
-
:代表数据模型,主要指后端进行的各种业务逻辑和数据处理,对于前端来讲就是后端提供的API接口,可以在Model中定义数据修改和操作的业务逻辑Model
-
: 代表视图层,负责数据模型转化成UI展现出来,即用户看到的界面View
-
:代表视图数据层,是一个同步View和Model的对象ViewModel
在MVVM架构下,View和Model没直接联系,而是通过ViewModel进行交互,Model和ViewModel的交互是双向的,因此 View 数据的变化会同步到
Model 中,而 Model 数据的变化也会立即反应到 View。
ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而 View 和Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作 DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理
MVVM的意义
MVVM 的出现促进了前端与后端业务逻辑的分离,极大地提高了前端开发效率 ,MVVM用接口实现了前后端数据的交互,这样可以使前后端之间的业务逻辑没有什么关系,MVVM实现了前后端更好的分离。
MVC架构模式
MVC全称
Model View Controller
,由Model、View、Controller(控制器)三部分组成
-
:指数据模型,是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据Model
-
:是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的View
-
:控制层,是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据Controller
View一般通过Controller来和Model进行联系,Controller是Model和View的协调者,View和Model不直接联系,View 传送指令到 Controller,Controller 完成业务逻辑后,要求 Model 改变状态,Model 将新的数据发送到 View,用户得到反馈。
某种意义上理解MVVM是MVC的改进版,将MVC中C(控制层)换成VM(视图数据层),MVVM实现了前后端更好的分离,前端向后台请求的数据只需要请求后台的接口即可。