Ho una situazione attuale in cui devo progettare chiamate a più servizi web, provenienti da diverse aziende, diciamo EnrollFacebook, EnrollGoogle, EnrollYelp, EnrollBing.
Ho bisogno di costruire diverse opzioni che raggruppano queste iscrizioni, ad esempio:
- PlanA: EnrollFacebook, EnrollGoogle, EnrollBing
- PlanB: EnrollGoogle
- PlanC: EnrollYelp, EnrollBing
- PlanD: EnrollFacebook, EnrollGoogle, EnrollYelp, EnrollBing
In seguito, se avessi bisogno di creare un PlanE, voglio essere in grado di creare utilizzando le diverse unità (alias iscrizioni e plug google con yelp o qualsiasi altra cosa).
Sto indagando su un modello di progettazione che mi aiuta a coprirlo, dal momento che ogni iscrizione è un'unità indipendente, non sapendo che gli altri si iscrivono. Tuttavia, se una qualsiasi unità fallisce, devo chiamare tutto il deenroll relativo a tutte le registrazioni di successo.
Conosci uno schema adatto alle mie esigenze? Stavo leggendo su Pipeline o Mediator ma non sono sicuro che questo copra effettivamente ciò che descrivo.
Aggiornamento: ho letto questo post Scelta del modello di progettazione corretto , ma comunque questo non aiuta poiché so qual è il mio problema e sto solo cercando di trovare una soluzione esistente per questo problema poiché questo sembra un problema molto comune, non voglio reinventare la ruota se ci sono dei buoni progetti là fuori .