Ho una classe che di solito finisco per chiamare XManager
. Questa classe di solito agisce come un dispatcher. Dove leggerà una configurazione e farà ciò che dice la configurazione.
Supponendo che abbia la seguente struttura di classe:
-Manger
| - Phases
| - PhaseX implements Phase { void run(); }
| - PhaseY implements Phase { void run(); }
| - PhaseZ implements Phase { void run(); }
PhaseManager
In PhaseManager ho un codice che assomiglia a:
class PhaseManager {
private Set<Phase> phases;
public PhaseManager(Config config) {
// Use config to instantiate all enabled phases, adding them to phases.
}
public void runPhases() {
for(Phase p : phases) {
p.run();
}
}
}
E quindi nel mio main.java avrei qualcosa del tipo:
PhaseManager manager = new PhaseManager(config);
manager.runPhases();
Ma sono convinto che ci sia un modo migliore. E dopo aver letto molti degli schemi di progettazione non riesco a capire esattamente a quale modello di design si adatti meglio.
Sembra che potrebbe essere callback
, ma non proprio; poiché non vi è alcuna azione che si verifichi per avviarlo, deve solo succedere.
Potrebbe essere command
, ma sembra che il comando sia un po 'eccessivo per questo approccio.