我们正在 ASP.NET MVC 中构建一个相当大的 HR 应用程序,到目前为止,我们的控制器变得相当大。例如,我们有一个员工控制器,并且包含所有员工视图(个人信息、员工扣除额、家属等)。每个视图都可能有多个操作或子视图(例如 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 个控制器。
部分班级 http://msdn.microsoft.com/en-us/library/wa80x488%28VS.80%29.aspx允许您将您的类分布在多个文件中。这样,您可以将控制器的相关区域分组到单独的文件中,但它们仍然是同一控制器的一部分。例如
EmployeeDeductionController.cs
public partial class EmployeeController
{
public ActionResult Deduct()
{
}
// etc
}
EmployeeBenefitController.cs
public partial class EmployeeController
{
public ActionResult GiveBenefit()
{
}
// etc
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)