è Command pattern software appropriato per questo?

1

Ho il seguente compito:

Devo inviare diverse istruzioni una dopo l'altra all'hardware. L'istruzione successiva non viene mai inviata prima che venga ricevuta una risposta alle istruzioni precedenti (risposta valida o errore) o si verifica un timeout.

Attualmente tutte queste istruzioni hanno i propri ascoltatori con onReceived (risposta) e onError (ErrorCode) e l'istruzione successiva viene chiamata da onReceived of previous .. Come posso immaginare che questo codice non sia ottimale e aggiungendo nuove istruzioni alla sequenza, la classe diventa ancora più disordinata ed è più difficile da mantenere o eseguire il debug.

Il mio obiettivo sarebbe quello di avere una sorta di classe semplice che avrà un elenco di istruzioni nell'ordine corretto e ogni istruzione per avere modo di elaborare la propria risposta ricevuta e memorizzarla nel posto comune. Questa semplice classe manager chiamerebbe execute () o next () e l'istruzione corretta verrebbe inviata, la risposta verrebbe archiviata se corretta o il comando ripetuto un certo numero di volte in caso di errore.

Il modello di comando sembra essere la strada da percorrere, ma non sono sicuro di essere sulla buona strada e su come reagire alle risposte in modo corretto.

    
posta Ewoks 17.02.2016 - 15:19
fonte

0 risposte

Leggi altre domande sui tag