Прежде чем я задам вопрос, вот мое понимание контроллера в шаблоне MVC.
- Контроллер - это прикладной уровень (в DDD)
- Управляет потоком приложений.
- сохраняется тонким
- Управляет единицей работы (a.k.a Транзакция)
У меня вопрос " когда мне создавать новый класс контроллера? ". Я возьму пример в качестве DinnerController в NerdDinner .
- Это контроллер для Обеденного модуля ? (Это модуль? ИМО, он слишком мал для модуля)
- Если это так, я должен создать контроллер для каждого модуля ? И станет ли контроллер толстым?
- Если это не так, когда я должен создать новый контроллер?
Лично я предпочитаю создавать класс Controller для варианта использования . Например, CreateDinnerControllelr, EditDinnerController, ListDinnerController, SearchDinnerController и т. Д. Но есть несколько недостатков IMO, таких как
- Иногда это нарушает принцип DRY (может потребоваться создать одну и ту же ViewModel в двух местах, например, при создании и редактировании может быть DinnerViewModel)
- Нужно явно определить маршрутизацию? (Я до сих пор предпочитаю маршрут как / Ужин / Создать , / Ужин / Редактировать / 1 )
Заранее спасибо.