【发布时间】:2021-02-02 21:24:36
【问题描述】:
我的图层服务中有多个服务,我必须执行一些方法,但每个方法在不同的服务中。
MyLastService 有很多功能和我的MyLastService 服务的 Autowired 服务示例:
@Service
class MyLastServiceImp implement MyLastService{
@Autowired
ProductService productService;
@Autowired
OrderService orderService;
@Autowired
UserService userService;
@Autowired
ReferentialService referentialService;
void addNewOrder(MyRequest req) {
try {
Product p = productService.findProduct(req.getProductId());
User u = userService.findUserByUserName(req.getUserName());
City c = referentialService.findCity(req.getCity());
orderService.addOrder(p, u, c);
}
catch(Exception e) {
LOGGER.error("error : {}", e.getMessage());
}
}
}
我对这个实现不满意,因为我会有很多其他的服务,并且在一个服务MyLastService 可以使我的代码难以阅读和维护。这就是我目前为我的应用程序搜索设计模式的原因。
如果我将所有其他服务都放在他身上,MyLastService 会发生什么?
我现在的想法是添加新图层,但我不知道是什么?
任何人都可以向我提出这个用例的最佳实践吗?
【问题讨论】:
标签: spring-boot design-patterns