MVVM和MVC的区别,以及MVVM的缺点MVVM和MVC的区别
MVC和MVVM的区别其实并不⼤。都是⼀种设计思想。
主要就是MVC中Controller演变成MVVM中的viewModel。
MVVM主要解决了MVC中⼤量的DOM操作使页⾯渲染性能降低,加载速度变慢,影响⽤户体验。
当和Model频繁发⽣变化,开发者需要主动更新到View。
MVVM:是Model-View-ViewModel的简写
M:对应于MVC的M
V:对应于MVC的V
VM:ViewModel,是把MVC⾥的controller的数据加载,加⼯功能分离出来
MVVM是Web前端⼀种⾮常流⾏的开发模式,
利⽤MVVM可以使我们的代码更加专注于处理业务逻辑⽽不是去关⼼DOM操作。
⽬前著名的MVVM框架有VUE,avalon,angular等
MVVM设计模式的优点
1.  双向绑定技术,当Model变化时,View-Model会⾃动更新,View也会⾃动变化。很好的做到数据的⼀致性
2.  由于控制器的功能⼤都移动到View上处理,⼤⼤的对控制器进⾏了瘦⾝
3.  View的功能进⼀步强化,具有控制的部分功能,
mvc的controller
若想⽆限增强它的功能,甚⾄控制器的全部功能⼏乎都可以迁移到各个View上
 (不过这样不可取,那样View⼲不了属于它职责范围内的事情)。
    View可以像控制器⼀样具有⾃⼰都View-Model
4.  可以对View或ViewController的数据处理部分抽象出来⼀个函数处理model。
这样它们专职页⾯布局和页⾯跳转,它们必然更⼀步的简化。
MVVM设计模式的缺点
1.  数据绑定也使得bug很难被调试。⽐如你看到页⾯异常了,有可能是你的View的代码有bug,也可能是你的model的代码有问题。数据绑定使得⼀个位置的Bug被快速传递到别的位置,要定位原始出问题的地⽅就变得不那么容易了。
2.  数据双向绑定不利于代码重⽤。客户端开发最常⽤的是View,但是数据双向绑定技术,让你在⼀个View都绑定了⼀个model,不同的模块model都不同。那就不能简单重⽤view了
3.  ⼀个⼤的模块中model也会很⼤,虽然使⽤⽅便了也很容易保证数据的⼀致性,但是长期持有,不释放内存就造成话费更多的内存。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。