Observer

L'Observer pattern è un design pattern utilizzato per tenere sotto controllo lo stato di diversi oggetti intuitivamente utilizzato come base architetturale di molti sistemi di gestione di eventi.

Si basa su uno o più oggetti, chiamati osservatori o listener, che vengono registrati per gestire un vento che potrebbe essere generato dall'oggetto "osservato".

Uno degli aspetti fondamentali è che tutto il funzionamento dell'observer si basa su meccanismi di callback, implementabili in diversi modi, o tramite funzioni virtuali o tramite puntatori a funzioni passati quali argomenti nel momento della registrazione dell'observer, e spesso a questa funzione vengono passati dei parametri in fase di generazione dell'evento.

Fonte Wikipedia