Sto cercando di capire come posso rendere il codice anche per questo facile da capire ed eseguire il debug. La ragione per cui la sto chiedendo è che sembra il tipo di scenario che è stato probabilmente affrontato prima di un sacco di volte. E se questo è il caso, vorrei utilizzarlo come solido punto di partenza che consentirà di estenderlo e ridimensionarlo nel futuro della sua vita.
Ho un'applicazione web che deve eseguire molte azioni diverse contro un sistema esterno esistente. Il trigger è un'azione eseguita nel portale. L'ordine dei passaggi in fase di progettazione e devono essere eseguiti in ordine. Le azioni necessarie sono generalmente formate da pochi passaggi.
Eg.
Portal action (Job)A --> (Task A -> Task B -> Task C)
Portal action (Job)B --> (Task A -> Task D -> Task E)
Portal action (Job)C --> (Task B -> Task D -> Task E)
Portal action (Job)D --> (Task C -> Task E)
etc, etc.
I passaggi devono essere eseguiti in ordine.
Mentre ci sono scelte tecnologiche (possibilmente in coda) all'interno di questo, la cosa principale che sto cercando di decidere è una struttura di codice.
Ho preso in considerazione un paio di modelli.
- Catena di responsabilità - Da quanto ho capito, sembrava più un filtro per le autorizzazioni / la convalida, piuttosto che un metodo per concatenare i passaggi.
- Event Sourcing - Per ottenere il vantaggio, sembrava più adatto a nessuna esecuzione sequenziale o più abbonati allo stesso evento.
Sto ancora lottando per accettare che sto cercando un modello che non esiste. Sto cercando un consiglio su questo fronte, qual è il modello adatto per darmi un buon punto di partenza?