gpt4 book ai didi

java - 外观层之间存在依赖关系是否常见?

转载 作者:行者123 更新时间:2023-12-01 13:14:37 25 4
gpt4 key购买 nike

我的应用程序有以下层:- 门面- 业务对象- 存储库(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 之间创建依赖关系是一个坏主意吗?

代码是:

@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(...);
}
}

最佳答案

如果你认为DRY(don't repeat yourself)你有问题。您可以创建另一个层,例如公共(public)层,它是业务对象层的依赖项,并且将创建一次,并且如果您愿意,将在整个 BO 中使用

关于java - 外观层之间存在依赖关系是否常见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22572701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com