MVC框架和MVVM框架的区别

1,033 阅读1分钟

在MVC里,View是可以直接访问Model的!从而,View里会包含Model的信息,不可避免的还要包括一些业务逻辑。MVC模型关注的是Model的不变,所以,在MVC里Model不依赖于View,但是View依赖于Model的。不仅如此,因为一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑无法重现了。

MVVM在概念上是真正将页面与数据逻辑分离的模式,他把数据绑定工作放在一个JS里去实现,而这个JS文件的主要功能是完成数据的绑定,即把model绑定到UI的元素上。

有人做过测试:使用Angular(mvvm),代替Backbone(mvc)开发,代码量可以减少一半。

此外,MVVM另外一个重要的特性,双向数据绑定,他更方便你同时维护页面都依赖于某个字段的N个区域,而不用手动更新他们。