b'\n_START_ARTICLE_\nObserver pattern\n_START_PARAGRAPH_\nL\'Observer pattern \xc3\xa8 un design pattern._NEWLINE_\xc3\x88 un pattern intuitivamente utilizzato come base architetturale di molti sistemi di gestione di eventi._NEWLINE_Molti paradigmi di programmazione legati agli eventi, utilizzati anche quando ancora non era diffusa la programmazione ad oggetti, sono riconducibili a questo pattern. \xc3\x88 possibile individuarlo in maniera rudimentale nella programmazione di sistema Windows, o in altri framework di sviluppo che richiedono la gestione di eventi provenienti da diversi oggetti, come ad esempio la funzione "OnMsgProc" per la gestione delle code di messaggi windows._NEWLINE_Sostanzialmente il pattern si basa su uno o pi\xc3\xb9 oggetti, chiamati osservatori o observer, che vengono registrati per gestire un evento che potrebbe essere generato dall\'oggetto "osservato", che pu\xc3\xb2 essere chiamato soggetto._NEWLINE_Oltre all\'observer esiste il concrete Observer, che si differenzia dal primo in quanto implementa direttamente le azioni da compiere in risposta ad un messaggio; riepilogando, il primo \xc3\xa8 una classe astratta, il secondo no._NEWLINE_Uno degli aspetti fondamentali \xc3\xa8 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.\n_START_SECTION_\nAttori\n_START_PARAGRAPH_\nIn generale il pattern impiega le seguenti classi:'