【问题标题】:Backbone model responsibility骨干模型责任
【发布时间】:2014-02-14 18:28:33
【问题描述】:
我需要对主干模型及其与视图的链接进行一些说明。我的应用程序是标准设置:前端是主干,后端是 express/mongo。
假设我有这些功能:
所有这些在后端都有专用的 api 方法,在前端有视图。我从用户模型开始(所有功能都涉及用户表/api),但发现为一个视图创建多个属性有限的模型更容易。
我不觉得这种方法很优雅,因为更大的应用程序不能以超过 30 个模型结束,这很难维护......
专业人士的问题,您如何将功能划分为模型?
【问题讨论】:
标签:
javascript
backbone.js
【解决方案1】:
可以采取多种方法来重用功能,但绝对应该尝试重用模型和 DRY。更简单的方法是通过原型扩充和公共字段继承,因为您可以重新定义 url 以从子模型中获取数据。
我使用 BB 开发了一个中等大小的应用程序,我们就是这样做的,但可重用性取决于您应用程序的领域。
你可以考虑看看几个基于 BB 构建的精心设计和成熟的库,如果它们都不能完全满足你的需求,至少要抓住一些想法
http://marionettejs.com/
Backbone.Marionette 是 Backbone.js 的复合应用程序库,旨在简化大型 JavaScript 应用程序的构建。
它是我们在使用 Backbone 构建的应用程序中发现的常见设计和实现模式的集合,其中包括受复合应用程序架构、事件驱动架构、消息传递架构等启发的部分。
http://chaplinjs.org/
Chaplin 是一种使用 Backbone.js 库的 JavaScript 应用程序架构。卓别林通过提供轻量级和灵活的结构来解决 Backbone 的局限性,该结构具有经过充分验证的设计模式和最佳实践。
Chaplin 使您能够快速开发可扩展的单页 Web 应用程序;让您可以专注于设计和开发 Web 应用程序的底层功能。
在 Derick Bailey blog 上,您会发现很多关于 Backbone 设计方面的优质帖子