Come usare il Pattern Observer

Di:
tramite: O2O
Difficoltà: media
15

Introduzione

II pattern Observer rappresenta per definizione, nell'ambito della programmazione orientata agli oggetti, uno schema progettuale estremamente semplice che fornisce una soluzione concettuale, già pronta al nostro uso, ad un problema ricorrente. Quindi in questa guida vedremo come usare il Pattern Observer.

25

Definizione di pattern observer

Ad ogni pattern viene dato un nome, la descrizione di un problema e il modello che ne rappresenta la soluzione. Quindi dobbiamo capire, oltre il nome, quale problema deve risolvere e come intende capire la soluzione per risolverlo. Il pattern Observer rappresenta una soluzione nei casi in cui è necessaria la relazione tra un oggetto ed una serie di altri oggetti, che reagiscono in conseguenza al cambiamento di questi dati. L'Observer è un pattern comportamentale, offre la soluzione concettuale nel realizzare uno scenario da sviluppare, in cui una serie di oggetti reagiscono alle variazioni di stato di un oggetto da noi osservato. Quindi abbiamo un oggetto che viene osservato e tanti oggetti che osservano i cambiamenti di quest'ultimo. Adesso implementeremo un semplice programma di linguaggio Java, che utilizzi questo pattern e ne dimostri un uso pratico. Nello scenario che andremo a creare, il nostro osservatore, Observer, sarà un oggetto che reimposterà, ad un valore di default, lo stato di un altro oggetto da lui osservato.

35

Attivazione classe Observable

Per prima cosa, attiveremo la classe che fungerà da Observable, per fare questo la classe che andremo a creare dovrà estendere la classe concreta Observable, in modo da acquisirne tutte le caratteristiche, quindi scriveremo: Class Oggetto extends Observable. Dichiariamo al suo interno un attributo di tipo intero con il valore di stato e dei metodi che ne permettono la sua manipolazione e che definisce le caratteristiche che avranno i valori che la variabile potrà assumere. Scriviamo:
private int valore;

per memorizzare lo stato del nostro oggetto.

Continua la lettura
45

Attivazione observer

Fermiamo l'attenzione, ora, sul metodo che farà variare il contenuto della variabile valore. Dopo che ne effettuerà la modifica, dovrà segnalarla a tutti gli osservatori invocando i metodi :

setChanged ();
notifyObserver ();

A questo punto, non solo lo stato sarà cambiato ma lo segnalerà anche all' esterno. Adesso attiveremo l'osservatore che dovrà svolgere una certa operazione, in risposta alla variazione attuata. Un osservatore è una classe che attiva un'interfaccia chiamata Observer e questa attiverà il suo unico metodo, chiamato update. Tale metodo, verrà invocato direttamente, dopo che lo stato verrà alterato.

55

Creazione classe di test

Ora, al suo interno, andremo ad invocare il metodo reset che si preoccuperà di ripristinare il suo valore iniziale. Adesso, creiamo una classe di test con metodo main e distanziamo i singoli oggetti. L'osservato, registrerà gli osservatori che saranno in grado di capire cosa fare, quando quest'ultimo cambierà. Eseguendo questa semplice applicazione, qualunque valore verrà dato al nostro Oggetto, avremo sempre quello di default.

Potrebbe interessarti anche

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Università e Master

Le strategie di management

"Management", il termine che definisce le strategie e le tecniche che garantiscono il funzionamento delle aziende viene dalla lingua inglese. Ed è una cosa fondamentale che queste strategie e tecniche siano efficaci e corrette, o l'azienda in questione...
I presenti contributi sono stati redatti dagli autori ivi menzionati a solo scopo informativo tramite l’utilizzo della piattaforma www.o2o.it e possono essere modificati dagli stessi in qualsiasi momento. Il sito web, www.o2o.it e Arnoldo Mondadori Editore S.p.A. (già Banzai Media S.r.l. fusa per incorporazione in Arnoldo Mondadori Editore S.p.A.), non garantiscono la veridicità, correttezza e completezza di tali contributi e, pertanto, non si assumono alcuna responsabilità in merito all’utilizzo delle informazioni ivi riportate. Per maggiori informazioni leggi il “Disclaimer »”.