前端相关

MVC/MVVM

2017-10-12  本文已影响2人  DeeJay_Y

阮一峰谈MVC
阮一峰讲MVC,MVP,MVVM

MVC

MVC模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。

这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。

个人的简单理解:

要注意的就是view和model层并不能直接相互控制,而是要交给controller来进行控制。
MVC中一定会有一个主动render()的操作,因为不会自动刷新页面

MVVM

M: js内存 (deejay)
V: html/css 表现层
VM: 监听model和view的变化,model发生改变之后随着改变view,view改变了之后随着改变Model,互相监听,互相去改变。

MVVM的缺点

首先明确MVVM的改变是同步的,另外普通DOM的事件处理也是同步的
同步造成的缺点就是:view每改动一次,model就会改变 ,VM中的每一次变化也都会重新渲染view,所以造成很大的性能问题。
而且如果view中有新增内容的话,model中没有事先设置,是不能进行改变的。

上一篇 下一篇

猜你喜欢

热点阅读