《BackboneJS框架的技巧及模式》(3)
本文紧接第二部分:《BackboneJS框架的技巧及模式(2)》
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs
四、页面部分刷新当第一次使用Backbone.js开发应用时,典型的视图结构是像这样的:
保持模型与视图无关将会帮助你预防意大利面条式的代码,而没有人喜欢意大利面条式的代码!
保持数据层完全与视图层无关,这会使你创建出更具模块化、可重用和可维护的代码库。你可以很容易地在应用程序各个地方重用和扩展模型与集合,而无需考虑它们所绑定的视图。遵循此模式使对项目不熟悉的新手也能迅速深入到代码库,因为他们会确切地知道哪里发生了渲染,业务逻辑存在于哪里。
这个模式也实现了单一职责原则——它规定了每个类应该具有单个职责,而且它的职责应该封装在类中,因为模型与集合负责处理数据,而视图则负责处理渲染。
六、路由的参数映射此模式的最佳演示是理解整个例子。比如说对搜索页的结果进行排序,搜索页允许用户添加两个不同的过滤类型,foo和bar,每个类型代表不同的过滤规则。那么,你的URL结构应该是这样:
var Model = Backbone.Model.extend({ defaults: { x: 1, y: 1, z: 1 }});var model = new Model();/* model.attributes yields{ x: 1, y: 1, z: 1} */model.fetch();/* let’s assume that the endpoint returns this{ y: 2, z: 2,} *//* model.attributes now yields{ x: 1, y: 2, z: 2} */