Мы создаем довольно большое приложение HR в ASP.NET MVC, и до сих пор наши контроллеры становятся довольно большими. Например, у нас есть контролер Employee, и включены все взгляды сотрудников (личная информация, вычеты сотрудников, иждивенцы и т.д.). Каждое из этих представлений может иметь несколько действий или подпрограмм (например, CRUD). Каждое действие относительно невелико, но контроллеры могут иметь десятки функций.
Есть ли какие-либо рекомендации для контроллеров разделения? Вместо того, чтобы иметь диспетчер Employee с десятками просмотров, было бы лучше иметь один контроллер для каждого подтипа (т.е. EmployeePersonalInfoController, EmployeeDeductionController, EmployeeDependentController)?
И, наконец, это даже важно?
Обновленное уточнение
Моя первоначальная проблема заключалась в действиях CRUD. Например, рассмотрим Create and Delete...
Текущие действия в EmployeeController:
CreateEmployee()
DeleteEmployee()
CreateEmployeeDeduction()
DeleteEmployeeDeduction()
CreateDependent()
DeleteDependent()
etc.
Если контроллеры были разделены:
EmployeeController
Create()
Delete()
EmployeeDeductionController
Create()
Delete()
EmployeeDependentController
Create()
Delete()
EmployeeBenefitController
Create()
Delete()
etc.
В первом сценарии наши экраны ~ 100 разбиваются на 8-10 больших контроллеров. Во втором случае у меня, вероятно, было бы ~ 50 контроллеров.