【发布时间】:2020-09-25 17:36:10
【问题描述】:
是的,又是这个问题……
我设计了一个批处理系统,它调用 ActionService 的 notify 方法,在 notify 方法中,取决于它的调用方式,有一个调用 create 批处理服务的方法。
示例代码块如下所示;
@Service
public class BatchService{
private final BatchRepository batchRepository;
private final ActionService actionService;
public Batch create(Batch batch){
return batchRepository.save(batch);
}
public void triggerNotifiers(){
...
actionService.notify(...);
...
}
}
@Service
public class ActionService{
private final ActionRepository actionRepository;
private final BatchService batchService;
public void notify(...){
...
if(/*some special cases*/)
batchService.create(...);
...
}
}
批处理服务的功能是调用Action服务的notify方法。 Action 服务能否创建未来的通知器取决于传入的通知数据。
所以它们彼此非常依赖。
你认为有没有更好的方法/逻辑/设计来做到这一点?
【问题讨论】:
标签: java spring database-design circular-dependency