Я являюсь членом команды по созданию одностраничного приложения Javascript. Я пришел в основном из веб-фона (Struts, Spring, Rails, Sinatra и т. Д.), Который, как я знаю, по-разному интерпретирует паттерн MVC. Одна вещь, которую я видел в Desktop MVC (которая, я считаю, применима к одностраничным приложениям Javascript), заключается в том, что они используют инстанцируемые модели и одноэлементные контроллеры и представления. То есть могут быть Company.Book
, Company.recentlyPurchasedBooksController
и Company.recentlyPurchasedBooksView
. Контроллер сохраняет экземпляр модели (или ее коллекцию), и представление обновляется при изменении этой модели.
Моя команда - тоже из интернета - находит это очень "волшебным". Они настоятельно предпочитают рабочий процесс, в котором контроллер создает экземпляр представления, заполняет его моделью и отображает его на части страницы.
У меня есть несколько возражений по этому поводу, но у меня нет личного опыта, говорящего мне, что мои возражения на самом деле имеют значение . Во-первых, контроллеры не должны знать о DOM, и, следовательно, не могут сказать представлению, где визуализировать. Они утверждают, что представления должны быть инстанцируемыми («что, если вам нужно несколько копий представления на странице?»), На что я отвечаю, что в этих случаях им, вероятно, нужно представление коллекции.
Где я могу найти сообщения в блоге, книги, ссылки, что-нибудь , которое поможет урегулировать эту дискуссию? Будет ли разрушение шаблона MVC ради удобства разработчика чистым выигрышем или чистым убытком в долгосрочной перспективе?