Должны ли контроллеры в приложении MVC быть 1 на объект домена или по одному на группу связанных действий?
У меня есть приложение MVC, и когда я создаю, я начинаю с одного контроллера для моей доменной модели Person. У меня есть действия, включая AddPerson, DeletePerson, EditPerson и т. Д. Затем я начинаю добавлять больше, как AddPersonBoss и RemovePersonBoss. Довольно скоро у меня 20 действий в одном контроллере. Преимущество MVC становится менее очевидным, потому что мой файл содержит несколько сотен строк кода, и за ним трудно следовать.
Все примеры, которые я вижу, показывают один контроллер на объект домена, такой как Person. Такое ощущение, что у меня должен быть контроллер PersonManagement для AddPerson, DeletePerson, EditPerson и контроллер BossManagement для AddPersonBoss, RemovePersonBoss.
Имеет ли это смысл? Почему бы мне не захотеть разбить его на несколько контроллеров? Слишком много действий в одном контроллере становится трудным, но все примеры, которые я вижу, делают это.
2 ответа
Это зависит от вашего приложения
я предпочитаю делать контроллер для каждой операции, потому что это делает мой код контроллера простым
но если у вас много операций, которые приведут к созданию большого количества файлов для каждого
контроллер, так что вы должны сделать один файл, чтобы сгруппировать несколько контроллеров вместе, чтобы сделать
приложение проще
Я бы предложил использовать оба подхода, потому что иногда немного сложно использовать только один конкретный подход. Если контроллер значительно растет, подумайте о том, чтобы разделить его на несколько частичных классов.