简述MVC和MVVM区别

MVC

简述MVC和MVVM区别_第1张图片

 

   MVC全名是(Model View Controller),是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范

  • 模型(model):是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据
  • 视图(view):是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的
  • 控制器(controller):是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并且向模型发送数据。

 MVC的思想:简单说就是 controller负责将model中的数据用view显示出来 换句话说就是在controller里面吧model的数据赋值给view


MVVM

 简述MVC和MVVM区别_第2张图片

 相比较MVC新增加了VM类

  • ViewModel:做两件事达到了数据的双向绑定
  1. 将模型转换为了视图 ,就是将后端传递的数据转换成了所看到的页面。实现的方式就是数据绑定。
  2. 将视图转换成模型,就是所看到的页面转换成后端数据,实现的方式就是DOM时间监听

 区别:

     MVVM和MVC最大的区别就是 它实现了View和Model的自动同步,也就是当Model的属性改变时,我们不需要再手动操作Dom元素来改变View的现实,而是改变属性后该属性对应View层显示会自动改变(对应Vue数据驱动的思想),MVVM比MVC也精简了许多,不仅简化了业务和界面的依赖,还解决了数据频繁更新的问题,不在用选择器操作DOM元素,因为在MVVM中View不知道Model的存在,Model和ViewModel也观察不到View,这种低耦合模式提高了代码的可重用性。


Vue为何没有完全遵循MVVM思想:因为MVVM要求View和Model不可以直接通信,而Vue提供了$refs这个属性,让Model可以直接操作View,所以说Vue没有完全遵循

你可能感兴趣的:(mvc,asp.net,前端)