MVVM和MVC的区别,以及MVVM的缺点

MVVM和MVC的区别html

MVC和MVVM的区别其实并不大。都是一种设计思想。前端

主要就是MVC中Controller演变成MVVM中的viewModel。设计模式

MVVM主要解决了MVC中大量的DOM操做使页面渲染性能下降,加载速度变慢,影响用户体验。框架

当和Model频繁发生变化,开发者须要主动更新到View。函数

 

MVVM:是Model-View-ViewModel的简写布局

 

M:对应于MVC的M性能

V:对应于MVC的Vspa

VM:ViewModel,是把MVC里的controller的数据加载,加工功能分离出来设计

 

MVVM是Web前端一种很是流行的开发模式,双向绑定

利用MVVM可使咱们的代码更加专一于处理业务逻辑而不是去关心DOM操做。

目前著名的MVVM框架有VUE,avalon,angular等

 

MVVM设计模式的优势

1.  双向绑定技术,当Model变化时,View-Model会自动更新,View也会自动变化。很好的作到数据的一致性

2.  因为控制器的功能大都移动到View上处理,大大的对控制器进行了瘦身

3.  View的功能进一步强化,具备控制的部分功能,

     若想无限加强它的功能,甚至控制器的所有功能几乎均可以迁移到各个View上

 (不过这样不可取,那样View干不了属于它职责范围内的事情)。

    View能够像控制器同样具备本身都View-Model

 

4.  能够对View或ViewController的数据处理部分抽象出来一个函数处理model。 

      这样它们专职页面布局和页面跳转,它们必然更一步的简化。

 

MVVM设计模式的缺点

1.  数据绑定也使得bug很难被调试。好比你看到页面异常了,有多是你的View的代码有bug,也多是你的model的代码有问题。数据绑定使得一个位置的Bug被快速传递到别的位置,要定位原始出问题的地方就变得不那么容易了。

2.  数据双向绑定不利于代码重用。客户端开发最经常使用的是View,可是数据双向绑定技术,让你在一个View都绑定了一个model,不一样的模块model都不一样。那就不能简单重用view了

3.  一个大的模块中model也会很大,虽然使用方便了也很容易保证数据的一致性,可是长期持有,不释放内存就形成话费更多的内存。

原文出处:https://www.cnblogs.com/mlw1814011067/p/10400240.html

相关文章
相关标签/搜索