骨干模型的责任

时间:2014-02-14 18:28:33

标签: javascript backbone.js

我需要对骨干模型及其与视图的链接进行一些澄清。我的应用程序是标准设置:前端的骨干,后端的express / mongo。

假设我有这些功能:

  • 登录
  • 注册
  • 个人资料更新
  • 更改密码
  • 退出确认

所有这些都有关于后端和前端视图的专用api方法。我从用户模型开始(所有功能都涉及用户表/ api),但发现创建许多模型,每个模型对于一个视图都是有限的属性。

我觉得这种方法不优雅,因为更大的应用程序不能以超过30种型号结束,这很难维护......

专业人士的问题,你如何将你的功能划分为模型?

1 个答案:

答案 0 :(得分:0)

可以采用几种方法来重用功能,但绝对应该尝试重用模型和DRY。更简单的方法是通过原型扩充和继承公共字段,因为您可以重新定义URL以从子模型中获取数据。

我用BB开发了一个中等大小的应用程序,我们这样做,但可重用性的数量取决于应用程序的域。

您可以考虑看一下在BB之上构建的几个设计良好且成熟的库,如果它们都不能完全满足您的需求,至少可以抓住一些想法

http://marionettejs.com/

Backbone.Marionette是Backbone.js的复合应用程序库,旨在简化大型JavaScript应用程序的构建。 它是我们使用Backbone构建的应用程序中的常见设计和实现模式的集合,包括受复合应用程序体系结构,事件驱动架构,消息体系结构等启发的部分。

http://chaplinjs.org/

Chaplin是一个使用Backbone.js库的JavaScript应用程序架构。卓别林通过提供轻量且灵活的结构来解决Backbone的局限性,该结构具有成熟的设计模式和最佳实践。 卓别林使您能够快速开发可扩展的单页Web应用程序;允许您专注于设计和开发Web应用程序中的基础功能。

另外在Derick Bailey blog上你会发现很多关于Backbone设计方面的高质量帖子