Sfondo
Lavorando come ingegnere del software nel campo dell'elettronica, trovo spesso che nessuno dei modelli di progettazione esistenti, ad esempio GoF, è in genere adatto alla fattura per ciò che devo fare. Uno degli schemi che uso frequentemente funziona in questo modo:
- Apri una connessione ad alcuni dispositivi elettronici.
- Trasmetti un comando a quel dispositivo elettronico, per farlo funzionare.
- Blocca il thread fino a quando quel dispositivo elettronico non fa tutto ciò che deve fare e risponde dicendo che è finito (il dispositivo).
- Sblocca il thread una volta ricevuta la risposta dal dispositivo e proseguo l'esecuzione.
Questo schema viene in genere utilizzato in scenari in cui è necessario parlare con dispositivi SCPI IEEE 488.2 come multimetri. In genere, scrivo librerie che gestiscono i comandi / la risposta dai dispositivi in questo modo. Un esempio è dove potrei fare qualcosa come:
- Connetti allo strumento.
- Dì al tester di darmi la tensione.
- Attendi che il misuratore risponda con la tensione, quindi sbloccalo quando lo fa.
- Sblocca ed elabora la tensione ricevuta (ad esempio, restituiscilo da un metodo di libreria
GetVoltage
).
Domanda
Vorrei sapere qual è il nome formale per farlo. Ho sentito comando-risposta ma non ne sono sicuro. So che è non modello di controller, e so anche che questo non è il modello di comando.
Esiste un nome formale per questo tipo di modello / sistema di progettazione?