Sto scrivendo una macchina a stati finiti in C ++, progettata come una libreria. Inoltre, ho una GUI implementata come progetto separato che ha bisogno di aggiornare l'interfaccia utente in base ai cambiamenti di stato che si verificano nella libreria.
Il modo in cui implemento la comunicazione ora è che la GUI sta chiamando una funzione di libreria che restituisce una struttura contenente informazioni sullo stato della macchina a stati finiti (e altre informazioni necessarie).
Ma trovo questa soluzione piuttosto ad hoc e dato che sembra una situazione frequente, sono curioso di sapere se esiste un modello di design / libro di testo per gestirlo.