【问题标题】: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 设计方面的优质帖子

【讨论】:

    猜你喜欢
    • 2013-10-14
    • 1970-01-01
    • 2014-06-25
    • 2012-05-04
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多