Плохо ли размещать представления внутри моделей? (Backbone.js)

Привет, у меня есть модель, в которой есть модели внутри и внутри... Мне нужно просмотреть их все и добраться до них в иерархии.

A Model
|
+---B Model
|   |
|   +----C Model
|   |
|   +----C Model
|
+---D Model

Подумайте, что все эти модели имеют представления, и, например, когда вызывается функция рендеринга моделей B, мне нужно вызывать функции рендеринга обеих моделей C.

Поэтому я решил создать все связанные представления внутри моделей с помощью переопределения методов инициализации.

Итак, мой вопрос: такое поведение плохо для архитектуры mvc? или это естественно?


person Mirat Can Bayrak    schedule 07.09.2011    source источник


Ответы (1)


Я не думаю, что модели должны знать о представлениях. Должно быть наоборот.

Представление должно иметь возможность перемещаться по иерархии модели, а не наоборот.

person duffymo    schedule 07.09.2011
comment
Но с другой стороны, количество моих моделей не статично. Он всегда меняется. Поэтому я думаю, что мне нужно создать связанное представление при создании модели. Может быть, я могу использовать сигналы для них? - person Mirat Can Bayrak; 07.09.2011
comment
Вы создаете коллекцию, содержащую все модели C. Затем вы создаете представление коллекции, которое может быть <ul>. Каждая модель C имеет свое собственное представление, которое может быть <li>. Когда модель добавляется или удаляется из коллекции, вы повторно визуализируете ее представление, которое отображает <ul>, добавляя <li> для каждой модели C в коллекции (т.е. создает новое представление модели C и передает модель C в качестве параметра). Вы синхронизируете все это, используя events, которые являются свойством представлений. - person Ivan Ivanić; 07.09.2011