实施许多可扩展的方法
对于基于骨干关联的多对多关系,是否有经过测试和可扩展的方法? 我一直在研究Backbone-Relational和Backbone-JJRelational作为替代品,但是由于其他原因和限制,我想保留Backbone-Associations。
我有两个模型(项目和位置)与各自的集合,并且每个模型与另一个有很多关系。 一个项目可以有多个位置,一个位置可以托管多个项目。
// Non-relevant statements have been left out
var Project = Backbone.AssociatedModel.extend({
relations: [{
type: Backbone.Many,
key: 'locations',
collectionType: Locations
}],
defaults:
});
var Projects = Backbone.Collection.extend({
model: Project
});
var Location = Backbone.AssociatedModel.extend({
relations: [{
type: Backbone.Many,
key: 'projects',
collectionType: Projects
}]
});
var Locations = Backbone.Collection.extend({
model: Location
});
希望解决方案投入生产,如果不是指导如何以最具扩展性和可靠性的方式解决问题。 (REST API在NodeJS / Express和MongoDB上实现(如果有影响的话)
Cheeers
我决定用一个扁平的嵌套结构来实现这个关系,并且在带有关系的模型中引用数组。 我相信Backbone-Associations和Backbone-Relational对于一对一和一对多的关系很好,但对于更复杂的嵌套结构来说,实现“自制”关系结构似乎更有效率。
实现可映射到实体模型特定约束的可重用结构的灵活性以及对事件处理的更多控制使我得出了这个结论。 我有大约25个模型和30个集合,并且这里有很多多对多的关系。
(需要说的是,我对JavaScript和Backbone相当陌生,所以这可能会对决策产生影响)
链接地址: http://www.djcxy.com/p/65531.html