Siamo di fronte all'implementazione di un flusso di lavoro di registrazione con molti rami. Ci sono tre flussi principali che in alcune condizioni portano l'uno all'altro. Ogni flusso ha almeno quattro diversi passaggi; alcuni passaggi interagiscono con il server e ogni passaggio aggiunge più informazioni allo stato. Inoltre, il requisito è di mantenerlo tra una sessione e l'altra, quindi se l'utente chiude l'app (questa è un'app mobile), ripristinerà il processo dall'ultimo passaggio completato con lo stato della sessione precedente.
Penso che questo potrebbe trarre beneficio dall'uso del modello strategico, ma non ho mai dovuto implementarlo per un caso così complesso. Qualcuno sa di esempi in open source o articoli dai quali potrei trovare ispirazione? Preferibilmente gli esempi dovrebbero provenire da un'applicazione live / funzionante / stabile.
Sono interessato principalmente all'implementazione di Java; stiamo sviluppando per i telefoni cellulari Java: android, blackberry e J2ME. Abbiamo un SDK che è abbastanza ben separato dalle implementazioni specifiche della piattaforma, ma gli esempi in C ++, C #, Objective-C o Python sarebbero accettabili.