标签:
jquery本身特性,也就是事件触发,很多时候,就是你在编写 触发事件->处理数据 的流程。
很显然,功能一多,代码就会和面条一样,交织在一起了。然后你要么崩溃,要么自然而然的开始写你自己的框架来管理代码了。
mvvm绝对的优势就是降低耦合性,让前端从复杂的事件,回调中挣脱出来。
举一个例子,利用一般的前端模板加jQuery 事件委托 搞定.但随着业务的膨胀, 代码就充满了各种选择器与事件回调,难以维护。因此彻底的将业务与逻辑分离,就只能求助于架构。
除此之外, 也免去了一些重复的体力劳动。
mvvm框架 :
angular很好,但就是不想用。。。
主要是因为源码太重了,有啥问题想自己干点猥琐事情的时候,很难分析和入手。
绑定复杂的UI设计的时候,还是有些麻烦。
后来碰到了avalon框架其实更好理解,也比angular兼容性更好。可以兼容到ie6.
avalon是国内最强大的MVVM框 架,没有之一,虽然淘宝KISSY团队也搞了两个MVVM框架,但都无疾而终。其他的MVVM框架都没几个。也只有外国人与像我这样闲的架构师才有时间钻 研这东西。我很早之前就预言,MVVM是前端的终极解决方案。我之前在盛大无线做盛大通行证就深有体会,一个业务逻辑对应十来个不同的界面,分层架构是必 不可少的。因此双向绑定作为解药,结合很早就流行的MVC框架,衍生出MVVM这神器。
司徒正美,作者有着强大的自信,一个人开发的框架就敢说国内最强大的MVVM框架,不过我信了。不为别的,就是那句“MVVM是前端的终极解决方案”。
单纯从数据来看,其实我们要解决的问题很简单(双向数据绑定的问题)
a) 当DO对象属性放生变化时候,通知View更新
b) 当View上表单值放生变化时,通知DO更新,并异步通知队列同步到数据源
界面和逻辑关联紧密,数据直接从数据库读取。mvvm的界面与viewmode是松耦合,界面数据从viewmodel中获取。
我信奉 “MVVM是前端的终极解决方案”
标签:
原文地址:http://www.cnblogs.com/Copyrightcodetocompany/p/4626052.html