子实体的独立控制器

时间:2014-06-16 14:38:27

标签: oop model-view-controller

这可能是非常基本的问题,但我找不到直接答案, 我想了一会儿,仍然没有弄清楚什么是最佳做法?

在亲子关系中,例如部门/员工应该采取以下行动:

DepartmentController -> addEmpoyee(deptId) 
DepartmentController -> editEmpoyee(empId)
DepartmentController -> employees(deptId)

或者为Employee操作创建单独的控制器?     EmployeeController - >添加(DEPTID)     EmployeeController - >编辑(EMPID)     EmployeeController - >列表(DEPTID)

第二种方法对我有意义,但第一种方法似乎是合乎逻辑的,员工也是部门的子实体......

1 个答案:

答案 0 :(得分:1)

我会DepartmentCrudController收集这些方法(索引,显示,创建,删除,新建,编辑)。

事实上,CRUD本身就是 ONE 责任,因此不会违反单一责任原则。

然而,由控制器调用的相关命令(例如,查看CQRS),如果包含一些业务逻辑(任务驱动的UI),它们本身应该分开,以便对更改不太敏感,增加您的灵活性应用。

但对于简单的CRUD,一个服务层类就足够了。

你的控制器应该是一个简单的简单的对象委托你的用例(服务层),这意味着没有任何业务逻辑。