Каков наилучший способ разделить функциональность контроллера MVC? - PullRequest
3 голосов
/ 22 июня 2009

При создании контроллеров, каковы наилучшие способы его разделения?

Если у меня есть раздел администратора, в котором есть несколько пользовательских веб-элементов управления .ascx и несколько страниц .aspx. Должен ли я иметь один AdminController? Или у меня должен быть Контроллер для каждой отдельной страницы администратора / элементов управления веб-пользователя?

Кажется, что ответственность за действия на одной странице противоречит одной из вещей, которые MVC пытался улучшить из веб-форм. Но в то же время вам не нужен один контроллер для всего вашего сайта ...

Я понимаю, что должны делать контроллеры, но за что должен отвечать один отдельный контроллер? Каковы наилучшие методы разделения ответственности контроллеров?

Спасибо,
Matt

Ответы [ 2 ]

2 голосов
/ 22 июня 2009

Всего 75% ответа, но в качестве очень гибкого ответа, один контроллер на модель, а затем просто достаточно гибкости для создания, чтения, обновления и удаления этой модели (желательно, чтобы интерфейс был согласованным между контроллерами и избегал особых случаев интерфейсы, если это абсолютно необходимо.)

Это работает для всех случаев, кроме тех, для которых это не так!

REST - довольно хорошая основа для размышлений об этом. В то время как следующее руководство ориентировано на то, как рельсы это делают, многие концепции должны применяться более широко http://www.softiesonrails.com/2007/3/28/rest-101-part-1-understanding-resources

0 голосов
/ 22 июня 2009

Один AdminController - хороший выбор. Разные методы в контроллере имеют разные обязанности в наборе функций администратора и разные представления при необходимости.

Это разделение труда можно увидеть в проекте Nerddinner .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...