我有一个控制器,可以调用三个服务:
public class ProductController(){
@Autowired
private AccountService accountService;
@Autowired
private ProcessService processService;
@Autowired
private releaseService releaseService;
@RequestMapping("/process")
public Product process(@RequestParam(value="name",defaultValue="docs") ProductProcessed process) {
accountService.notify();
releaseService.sendRelease(process);
return processService.process(process);
}
}
最佳答案
您正在寻找的可能是一些设计模式.我的方法可能是在细粒度服务(帐户,流程和发布)上创建粗粒度facade. (另见Coarse-grained vs fine-grained)
原文链接:https://www.f2er.com/spring/432516.htmlFacade基本上会在其中注入这3个服务,并封装您当前正在执行控制器的行为.这样,您将最小化业务逻辑,从而在控制器中调用粗粒度服务,从而进一步封装系统的内核.