Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Java Design Pattern: come usare il pattern State (1/2)
Scritto da Serenella Sisca il 08-02-2008 ore 09:17
I design pattern offrono ad ogni sviluppatore software la possibilità di poter utilizzare metodi di progettazione efficaci, derivanti dalle esperienze decennali di developer "saggi", che hanno semplificato la vita a centinaia di colleghi, condividendo la loro profonda conoscenza dei problemi e delle possibili soluzioni riguardanti la progettazione. Con questo articolo cominceremo un piccolo, ma esplicativo viaggio all'interno dei pattern di progettazione più conosciuti, associando alla teoria qualche esempio che mi è sembrato interessante.

Il primo pattern di cui ci occuperemo è il pattern State, generalmente definito pattern comportamentale a causa della propria sfera di azione. L'utilità di questo pattern si rivela quando ci troviamo a gestire oggetti il cui comportamento varia al variare dello stato (appunto, State) in cui si trovano, oppure quando le operazioni sono implementate mediante largo uso di statement condizionali, dipendenti dalle variabili di stato.

Analizziamo insieme la struttura di State: l'interfaccia pattern State definisce le operazioni da eseguire; le classi ConcreteState implementano il pattern e corrispondono ai vari stati interni dell'oggetto; la classe Context maschera e gestisce i vari stati dell'automa, agendo da interfaccia tra i client e gli oggetti State.

<center>strutturapatternstatexh1.jpg</center>

Per comprenderne meglio il funzionamento utilizzeremo un esempio ideato da Bob Tarr, docente universitario del Maryland (USA). Immaginate una classe che possegga due metodi push() e pull(), i cui comportamenti dipendono dallo stato dell'oggetto.Per inviare richieste all'oggetto si può utilizzare una banale interfaccia grafica con i pulsanti Pull e Push, il cui canvas cambia colore al variare dello stato in cui si trova l'oggetto. Gli stati sono rappresentati dai colori nero, rosso, blu e verde. Il consiglio che posso dare è di provare a riprodurre quanto descritto senza usare il pattern State e, solo poi, andare a leggere l'esempio che riporterò nel prossimo articolo.
Precedente: Binary Search Tree 2,3,4 e Red/Black Tree
Successiva: Bug ad alto rischio per Firefox
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.317 secondi.