什么是MVC
全程是model-view-controller
MVC模式把程序从结构上分为三层:
1.最上边的一层,是直接面向用户的视图层(view),它是提供给用户的操作界面
2.中间一层,是控制层(controller),负责处理view来的数据,或者操作model的数据,也就是,负责逻辑
3.最下一层,是数据层(model),就是程序需要操作的数据
什么是MVVM
全程为:model-view-viewmodel,是一种软件架构模式
MVVM有助于将图形用户界面的开发与业务逻辑或后端逻辑的开发分离出来.
MVVM的设计思想:关注model的变化,让MVVM框架去更新DOM.
MVVM模式的组成部分
分为四部分:
- model (模型)
- view (视图)
- viewModel (视图模型)
- binder(绑定器)
特点
采用双向绑定,view的变动,自动反应在viewModel,反之亦然.
MVVM
MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。
在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。
ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。
vuejs的优点
低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计。
可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写
易用灵活高效