MVVM模型和MVC模型
MVVM模型
MVVM拆开来即为Model-View-ViewModel,有View,ViewModel,Model三部分组成。View层代表的是视图、模版,负责将数据模型转化为UI展现出来。Model层代表的是模型、数据,可以在Model层中定义数据修改和操作的业务逻辑。ViewModel层连接Model和View。
在MVVM的架构下,View层和Model层并没有直接联系,而是通过ViewModel层进行交互。ViewModel层通过双向数据绑定将View层和Model层连接了起来,使得View层和Model层的同步工作完全是自动的。因此开发者只需关注业务逻辑,无需手动操作DOM,复杂的数据状态维护交给MVVM统一来管理。
Vue.js的实现方式,对数据(Model)进行劫持,当数据变动时,数据会出发劫持时绑定的方法,对视图进行更新。
MVC模型
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
- Model(模型)表示应用程序核心(如数据库)。
- View(视图)显示效果(HTML页面)。
- Controller(控制器)处理输入(业务逻辑)。
Model(模型)**是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
**View(视图)**视图负责展示模型中的数据给用户。
通常视图是依据模型数据创建的。
**Controller(控制器)**控制器处理用户的输入和交互,并相应地更新模型和视图。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC模式的优势在于它能够实现代码的分离和解耦,使得模型、视图和控制器可以独立开发和测试。这样,当需要改变用户界面或业务逻辑时,可以更容易地进行修改,而不会对其他部分产生太大的影响。此外,MVC模式还促进了代码的重用性和可维护性,使得多人协作开发更加容易。