TBH: Non ho mai usato un modello di osservatore. Ma sembra piuttosto utile per questa situazione:
Sto sviluppando un gioco di strategia molto semplice. Coinvolge due combattenti che si battono simultaneamente l'un l'altro per un breve periodo di tempo, il vincitore è il combattente con la maggior quantità di salute rimanente alla fine.
Ora ci sono molte strategie configurabili per i combattenti, diversi pezzi di equipaggiamento che possono cambiare ogni volta che attaccano, ecc. Sto anche pensando di includere alcuni fattori "esterni" come il tempo che influenzerà i combattenti.
Quindi ... Potrei creare un oggetto Fight che sia il soggetto. Tiene traccia del tempo e notifica agli osservatori ogni "tick" dell'orologio.
Gli osservatori sono due istanze di un oggetto Combatant e di un oggetto Weather.
Sembra una buona idea, ma dove sono le insidie? In realtà, mentre sto scrivendo questo penso che un problema è che gli osservatori sono probabilmente ignoranti dei rispettivi parametri. O devono essere?
Qualcuno ha usato un modello di progettazione efficace per fare qualcosa del genere?