没从C++/Java学起,对MVC和面向对象的理解还是后来慢慢积累起来的相对我觉得脚本语言各种范式各种灵活,只是缺少面向对象组织代码的整齐呆板而且从前使用DOMAPI时候就觉得DOM就像一种数据类型,JS操作数据同时,也在更改界面.通过直接访问界面,也能读取数据,很强大对吧但我接触Backbone一段时间,困惑也觉得越来越多而从前灵活解决前端问题的思路,随着MVC提出的分离有了各种阻碍,或者不方便直接JSDOM操作吧MVC在Backbone里是Model和View-Controller两者分离,另加上Collection.每次Model(Collection)发生改变,View重新渲染一次,然后搞定或者DOM上的事件从Controller传到Model里进行一次改变,View跟着改变好这样其实jQuery丰富的DOM操作就显得无所用处如果在Backbone的应用里加上大量的DOM操作,View刷新时又变得尴尬为了性能,JS在进行DOM操作时会讲操作全在HTML字符串里存储好,一次写入可在Backbone里,如果小的item也是Model,那么render也是分开了自己做的我理解,这样两者就不能够很好地兼容,至少有一个方面要打折扣了另一个功能是实时保存和更新,纯的DOM操作,JS监听DOM,在背后保存数据很简单可在MVC里Model被监听,每次更新操作就会导致界面被重新绘制,也显得很怪
料青山看我应如是
相关分类