这可能是非常基本的问题,但我找不到直接答案, 我想了一会儿,仍然没有弄清楚什么是最佳做法?
在亲子关系中,例如部门/员工应该采取以下行动:
DepartmentController -> addEmpoyee(deptId)
DepartmentController -> editEmpoyee(empId)
DepartmentController -> employees(deptId)
或者为Employee操作创建单独的控制器? EmployeeController - >添加(DEPTID) EmployeeController - >编辑(EMPID) EmployeeController - >列表(DEPTID)
第二种方法对我有意义,但第一种方法似乎是合乎逻辑的,员工也是部门的子实体......
答案 0 :(得分:1)
我会DepartmentCrudController
收集这些方法(索引,显示,创建,删除,新建,编辑)。
事实上,CRUD本身就是 ONE 责任,因此不会违反单一责任原则。
然而,由控制器调用的相关命令(例如,查看CQRS),如果包含一些业务逻辑(任务驱动的UI),它们本身应该分开,以便对更改不太敏感,增加您的灵活性应用。
但对于简单的CRUD,一个服务层类就足够了。
你的控制器应该是一个简单的简单的对象委托你的用例(服务层),这意味着没有任何业务逻辑。