java – 在资源控制器中使用多个服务的最佳方法是什么?

我有一个控制器,可以调用三个服务:

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)

Facade基本上会在其中注入这3个服务,并封装您当前正在执行控制器的行为.这样,您将最小化业务逻辑,从而在控制器中调用粗粒度服务,从而进一步封装系统的内核.

转载注明原文:java – 在资源控制器中使用多个服务的最佳方法是什么? - 代码日志