Simple, Double e Multi Dispatch in Java

Il polimorfismo
La programmazione ad oggetti si basa su alcuni concetti basilari quali ereditarietà, incapsulamento e polimorfismo. Il polimorfismo è uno dei concetti più complessi, soprattutto per chi proviene da un linguaggio di tipo procedurale o di tipo strutturato, in quanto utilizza un grado di astrazione nello sviluppo del software. Il polimorfismo rende possibile l’utilizzo di una serie di pattern, favorisce il riuso del software, il disaccoppiamento dei componenti e principalmente la determinazione a runtime dei comportamenti superando quei limiti imposti dai linguaggi monomorfici come il PASCAL.
Continua a leggere…

Categorie: GOF Pattern, java

GoF Patterns: Template Method

Translate in English with Google Translate
In questo articolo tratterò il pattern Template

Motivazione
Si tratta di un pattern comportamentale basato su classi e viene utilizzato per definire la struttura di un algoritmo delegando alcuni passi di dettaglio alle sottoclassi.
Questo pattern nasce dall’esigenza di specificare l’ordine delle operazioni da effettuare ma di delegare alle sottoclassi l’implementazione di alcune operazioni. Pertanto il metodo che definisce l’algoritmo viene implementato nella superclasse mentre i metodi che definiscono i comportamenti di dettaglio vengono dichiarati astratti nella superclasse ed implementati nelle sottoclassi.
Continua a leggere…

Categorie: GOF Pattern, java

GoF Patterns: Strategy

Translate in English with Google Translate
In questo articolo tratterò il pattern Strategy anche detto Policy

Motivazione
Si tratta di un pattern comportamentale basato su oggetti e viene utilizzato per definire una famiglia di algoritmi, incapsularli e renderli intercambiabili. Il client definisce l’algoritmo da utilizzare, incapsulandolo in un contesto, il quale verrà utilizzato nella fase di elaborazione. Il contesto detiene i puntamenti alle informazioni necessarie al fine della elaborazione, cioè dati e funzione: solita equazione y=f(x)!
Continua a leggere…

Categorie: GOF Pattern, java

GoF Patterns: State

Translate in English with Google Translate
In questo articolo tratterò il pattern State anche detto Objects for States

Motivazione
Si tratta di un pattern comportamentale basato su oggetti che viene utilizzato quando il comportamento di un oggetto deve cambiare in base al suo stato. Questo pattern trova applicazione quando abbiamo a che fare con una “Macchina a Stati Finiti” ossia siamo in presenza di un sistema dinamico in cui i valori di ingresso, uscita e stato sono un insieme finito.
Continua a leggere…

Categorie: GOF Pattern, java

GoF Patterns: Observer

Translate in English with Google Translate
In questo articolo tratterò il pattern Observer anche detto Dependents o Publish-Subscribe

Motivazione
Si tratta di un pattern comportamentale basato su oggetti che viene utilizzato quando si vuole realizzare una dipendenza uno-a-molti in cui il cambiamento di stato di un soggetto venga notificato a tutti i soggetti che si sono mostrati interessati. Continua a leggere…

Categorie: GOF Pattern, java

GoF Patterns: Memento

23 febbraio 2012 2 commenti

Translate in English with Google Translate
In questo articolo tratterò il pattern Memento anche detto Token

Motivazione
Si tratta di un pattern comportamentale basato su oggetti che viene utilizzato quando si ha necessità di ripristinare lo stato di un oggetto ad un suo precedente stato. Ciò richiede di memorizzare gli stati pregressi di un oggetto per poterli eventualmente ripristinare.
Memento, in latino, vuol dire ricordare ed infatti l’obiettivo del pattern è quello di ricordare gli stati precedenti per poterli ripristinare all’occorrenza in un tempo successivo.
Continua a leggere…

Categorie: GOF Pattern, java

GoF Patterns: Mediator

Translate in English with Google Translate
In questo articolo tratterò il pattern Mediator

Motivazione

Si tratta di un pattern comportamentale basato su oggetti e viene utilizzato per permettere lo scambio di messaggi tra diversi attori tramite un intermediario. In questo modo gli attori sono collegati indirettamente tramite un intermediario. Disaccoppiare gli attori consente di gestire meglio una serie di problematiche come: centralizzazione delle connessioni, modifiche più rapide, semplificazione dei protocolli.
Continua a leggere…

Categorie: GOF Pattern, java
Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.