【发布时间】:2022-02-02 17:23:48
【问题描述】:
我正在开发一个 springboot 项目,我正在开发一个需要多个步骤的功能(几乎就像一个算法)。为了遵循 SRP,我创建了一个单独的服务类来处理算法中的每个步骤。现在我的主要服务类使用了将近 9 个其他服务。
如何更好地设计我的课程?我知道使用其他服务类的课程违反了 SRP。
@Service public AlgoProcessor {
// inject service1
// inject service 2
// inject service 3
public FinalReponse startprocess(){
service1.algoStep1();
service2.algoStep2();
// more steps
}
}
我是学习设计原则的新手,非常感谢任何反馈!
【问题讨论】:
-
看来你有一个管道来处理一些东西。一种可能的方法是让每个服务都知道链中的下一个服务,然后触发第一个。
-
研究使用jBPM,它对于管理独立流程链很有用。 jbpm.org
标签: java spring-boot design-patterns single-responsibility-principle