MVC、MVVM

一、MVC、MVVM 的 相同点 和 不同点

1.相同点

都是前端web开发的框架模式,都是把业务逻辑、模型数据、用户界面分离开来,让开发者将数据与表现解耦。

2.不同点

1.MVC的通信是单向的: view => controller => model => controller => view

2.MVVM 是双向的: ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来 

3.mvvm主要解决了mvc中大量 dom操作使得页面渲染性能降低,加载速度变慢,影响用户体验。

3.实例

react native 使用的是 MVC 模式, 针对的是 view (视图层)

vue 使用的是 MVVM 模式

二、MVC

1.MVC三部分

Model (模型) 负责管理数据

View (视图) 负责渲染用户界面

Controller (控制器) 负责接受用户输入

2. MVC通信方式:

1. view 传递 指令到 controller

2. controller 完成业务逻辑后,model改变状态

3. model 将新的数据发方法哦 view, 用户得到反馈

MVC、MVVM

三、MVVM

1.MVVM三部分

Model (数据模型,  js对象)

View (视图,DOM)

ViewModel (通讯, 观察者,是一个同步 View 和 Model 的对象) 

2. MVVM通信模式

ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来

而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,

不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。

MVC、MVVM