1、MVC框架
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)
-
Model(模型)表示应用程序核心(如数据库),负责在数据库中存取数据
-
View(视图)显示效果(HTML页面),依据模型数据创建的。
-
Controller(控制器)处理输入(业务逻辑),负责从视图读取数据,控制用户输入,并向模型发送数据。
实现了视图与模型的分离,控制器在视图和模型之间架起了一座桥梁。
2、MVVM框架
MVVM是Model-View-ViewModel的简写。
- ViewModel(视图模型)MVVM没有MVC模式的控制器,也没有MVP模式的presenter,有的是一个绑定器。在视图模型中,绑定器在视图和数据绑定器之间进行通信。
- 当接收到用户请求后,ViewModel获取模型响应数据,并通过数据绑定将相应的视图页面重新渲染。模型层的数据只需要传入ViewModel即可实现视图的同步更新,从而实现了视图和模型之间的松散耦合。
3、两者的区别
- MVC中M和V可以直接打交道,即M->V->C->M,M与V的耦合度高
- MVVC中通过VM进行数据绑定
- MVVM主要解决了:MVC中大量的DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验