У меня есть коллекция предметов, все они имеют общие данные (например, идентификатор, название), однако за пределами их общего стека атрибутов они функционально уникальные элементы и имеют отдельные виды и бизнес-логики.Лучший шаблон дизайна для смешанной коллекции в Backbone.js
Моя проблема заключается в отсутствии предварительного опыта в стиле магистралей MVC, я не знаю плюсов и минусов каждого ... или, возможно, если есть гораздо более элегантное решение, которое мне не хватает. Вот пример трех методов, которые я мог бы использовать?
var gizmoCollection = new Backbone.Collection(); // or extend
var gizmoModel = Backbone.Model.extend({ ... });
var morgView = Backbone.View.extend({ ... });
var blarView = Backbone.View.extend({ ... });
// 1.) Create an attribute for the view in the model?
gizmoCollection.add(new gizmoModel({ title: 'Gizmo1': view: morgView }));
gizmoCollection.add(new gizmoModel({ title: 'Gizmo2': view: blarView }));
// 2.) Or create a seperate model for each type of model?
var morgModel = morgModel.extend({});
var blarModel = blarModel.extend({});
gizmoCollection.add(new morgModel({ title: 'Gizmo1' });
gizmoCollection.add(new blarModel({ title: 'Gizmo2' });
// 3. Or register 'types' of views?
gizmoView.subClassView('morg', morgView);
gizmoView.subClassView('blar', blarView);
gizmoCollection.add(new gizmoModel({ title: 'Gizmo1', type: 'morg' });
gizmoCollection.add(new gizmoModel({ title: 'Gizmo2', type: 'blar' });