Каковы преимущества одноэлементных представлений в настоящем приложении MVC (для настольных ПК)? - PullRequest
1 голос
/ 16 марта 2011

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

Моя команда - тоже из интернета - находит это очень "волшебным". Они настоятельно предпочитают рабочий процесс, в котором контроллер создает экземпляр представления, заполняет его моделью и отображает его на части страницы.

У меня есть несколько возражений по этому поводу, но у меня нет личного опыта, говорящего мне, что мои возражения на самом деле имеют значение . Во-первых, контроллеры не должны знать о DOM, и, следовательно, не могут сказать представлению, где визуализировать. Они утверждают, что представления должны быть инстанцируемыми («что, если вам нужно несколько копий представления на странице?»), На что я отвечаю, что в этих случаях им, вероятно, нужно представление коллекции.

Где я могу найти сообщения в блоге, книги, ссылки, что-нибудь , которое поможет урегулировать эту дискуссию? Будет ли разрушение шаблона MVC ради удобства разработчика чистым выигрышем или чистым убытком в долгосрочной перспективе?

1 Ответ

2 голосов
/ 16 марта 2011

Хотя я не использую его сам *, puremvc имеет порт javascript своей реализации MVC, который я нашел очень поучительным, чтобы разобраться. Это четкое разделение проблем, включая ту, о которой вы упомянули Знания с точки зрения диспетчера прекрасны, как и их объектная диаграмма.

* Для одностраничных веб-приложений и приложений javascript, которые я использовал, JavaScriptMVC , которые я нашел, чтобы облегчить свои проблемы с разработкой (хотя я не использую все это, только те части, которые мне нравятся) - ВК).

...