【发布时间】:2020-03-13 14:26:40
【问题描述】:
我有一个包含大约 10 种工作模式的应用。每个“模式”都使用相同的 API 端点,但在它使用的 2-5 列中,有时在逻辑上有所不同。我需要某种层来让控制器只做普通的工作。例如(伪代码):
控制器:
function create($request) {
DoCommonJob();
SomeLayer::createByMode($request);
return response;
}
某层:
function createByMode($request) {
Switch($request->('mode')) {
...
}
}
我可以使用什么层或图案?
【问题讨论】:
-
您能否详细介绍一下您目前拥有的解决方案以及您遇到问题的原因?
-
@jsheeran 实际上,现在我有一个演示版本(未生产),其中包含多个端点和控制器,命名为 api/mode/action、[Mode][Entity]Controller。我尝试进行一些升级和更新,这是非常累人的练习。我需要合并端点,但如果我现在这样做,我将拥有近 1k 行控制器 if(mode == 1) { ...30 lines...} if(mode == 2) { ...30 lines ...}
标签: php laravel architecture refactoring backend