我们正在ASP.NET MVC中构建一个相当大的HR应用程序,到目前为止,我们的控制器变得越来越大。例如,我们有一个Employee控制器,并且包括了所有雇员视图(个人信息,雇员扣除额,家属等)。这些视图中的每一个都可能具有多个操作或子视图(例如CRUD)。每个动作都相对较小,但是控制器可能具有数十种功能。
是否有拆分控制器的最佳实践?与其让Employee控制器具有数十个视图,不如为每个子类型(即EmployeePersonalInfoController,EmployeeDeductionController,EmployeeDependentController)配备一个控制器会更好吗?
最后,这甚至有关系吗?
更新说明
我最初关心的是CRUD动作。例如,让我们考虑创建和删除...
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个控制器。