In my Spring Boot app I have a notion of Stage
and StageProcessor
which processes the Stage
. Stage
has a StageType
enum property. I have different implementations of StageProcessor
interface, and these implementations are Spring beans. Now, I have another Spring bean, WorkflowProcessor
, which needs to invoke appropriate StageProcessor
depending on StageType
of the Stage
. So far I have come up with the following:
@Service
public class StageConfig {
@Autowired
private StageProcessorA stageProcessorA;
@Autowired
private StageProcessorB stageProcessorB;
public StageProcessor getProcessor(Stage stage) {
switch(stage.getType()) {
case A:
return stageProcessorA;
break;
case B:
return stageProcessorB;
break;
}
}
}
I wonder if I am missing any design pattern, or Spring mechanism. Any ideas of a better design?
Aucun commentaire:
Enregistrer un commentaire