MVVM 和 MVC

什么是 MVVM

它本质上就是MVC 的改进版

MVVM采用双向数据绑定,view中数据变化将自动反映到viewmodel上,

反之,model中数据变化也将会自动展示在页面上。把Model和View关联起来的就是ViewModel。

ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。

MVVM核心思想,是关注model的变化,让MVVM框架利用自己的机制自动更新DOM,也就是所谓的数据-视图分离,数据不会影响视图

在MVVM框架下,View和Model之间并没有直接联系,而是通过 ViewModel(桥梁)进行交互。
Model和ViewModel之间的交互是双向的。
ViewModel通过双向数据绑定将View和Model层连接了起来,而View和Model之间的同步工作都是完全自动的
 

什么是 MVC

经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,

从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。

简介 : MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,

从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新

 

MVVM 和 MVC 的区别

MVVM与MVC最大的区别就是:它实现了View和Model的自动同步,也就是当Model的属性改变时,我们不用再自己手动操作Dom元素,来改变View的显示,而是改变属性后该属性对应View层显示会自动改变。

整体看来,MVVM比MVC精简很多,不仅简化了业务与界面的依赖,还解决了数据频繁更新的问题,不用再用选择器操作DOM元素。因为在MVVM中,View不知道Model的存在,Model和ViewModel也观察不到View,这种低耦合模式提高代码的可重用性

 

共同点

耦合低,是真的低,view和model完全分离
维护性高,易维护,上手快
双向绑定:视图发生变化数据自动同步,数据发生变化视图也自动同步
减少了dom的操作,可以更多的关注业务逻辑

posted @ 2022-07-03 10:33  会前端的洋  阅读(819)  评论(0编辑  收藏  举报