骨干嵌套 - 通用架构

goj*_*ygo 5 javascript nested backbone.js

我一直在做一些研究,并没有看到我的具体用例的例子.因此,一般的架构建议/资源将不胜感激.

我正在创建一个地址簿.

  • 用户创建联系人和组.
  • 创建的联系人住在一般池中.
  • 联系人可以与多个组关联.
  • 如果更新了联系人,则会在所有组中更新.
  • 如果从常规池中删除联系人,则会从所有关联的组中删除该联系人.

为联系人和群组创建单独的集合很容易,但现在我有点卡住了.

似乎Backbone-associationBackbone-relational甚至nesting.js将提供我正在寻找的东西.看起来Backbone-association比Backbone-relational更具性能.有没有人有任何插件的经验?是否有更简单的手动代码解决方案?

Ant*_*sev 1

首先,您应该尝试使用标准骨干方法找到解决方案,只有当您不能时 - 您应该采取侧面应用程序。

至于您的应用程序 - 有一个解决方案。您应该将联系人集合和组集合存储在两个不同的独立集合中。联系人集合中的每个模型都应该有指向其组元素的“链接” - 例如仅包含其组模型的附加字段“组”(如果您知道的话,当您操作同一对象时,JavaScript 会操作链接,因此它是轻量级的)

拥有此类联系人的集合,您可以编写一个特殊的方法,该方法使用按组排序的该集合(为此实现集合比较器方法)并返回任何有用的对象以进行渲染。例如:

{"group1": elements_of_group1, ...}
Run Code Online (Sandbox Code Playgroud)

作为副作用,当您删除任何联系人时,您已经拥有一致的列表。