我的应用程序有以下层: - 门面 - 业务对象 - 存储库(Spring JPA数据)
让我们假设以下课程:
@Component
public class MessageFacade implements MessageService {
@Autowired
private GarageBO garageBO;
@Autowired
private MessageBO messageBO;
public void createFeedbackMessage(...) {
messageBO.createFeedbackMessage(...);
garageBO.createFeedback(...);
}
}
@Component
public class ServiceOrderFacade implements ServiceOrderService {
@Autowired
private ServiceOrderBO serviceOrderBO;
@Autowired
private MessageBO messageBO;
@Autowired
private GarageBO garageBO;
public void createServiceOrder(...) {
serviceOrderBO.createServiceOrder(...);
messageBO.createFeedbackMessage(...);
garageBO.createFeedback(...);
}
}
在MessageFacade中观察createFeedbackMessage方法我有:
1) MessageBO中的createFeedbackMessage方法,负责创建包含反馈调查的电子邮件 LINK ;
2) garageBO中的createFeedbackMessage方法使用问题和响应创建反馈 ENTITY ;
在ServiceOrderFacade中的createServiceOrder方法中,我需要调用ServiceOrderBO的方法,之后我需要在MessageFacade中使用相同的createFeedbackMessage方法行为。
在ServiceOrderFacade - >之间创建依赖关系是一个坏主意吗? MessageFacade? p>
代码如下:
@Component
public class ServiceOrderFacade implements ServiceOrderService {
@Autowired
private ServiceOrderBO serviceOrderBO;
@Autowired
private MessageBO messageBO;
@Autowired
private GarageBO garageBO;
public void createServiceOrder(...) {
serviceOrderBO.createServiceOrder(...);
getMessageService().createFeedbackMessage(...);
}
}
答案 0 :(得分:1)
如果您认为DRY(don't repeat yourself)中有问题。你可以创建另一个层,就像一个普通的,它是业务对象层的依赖,并且将创建一次,如果你想要
将在你的整个BO中使用