I Design Pattern

I Design Pattern per la risoluzione dei problemi più comuni

I design pattern sono dei schemi di progettazione che offrono soluzioni standard per situazioni tipiche di progettazione orientata agli oggetti. In informatica, l’uso di questo termine si deve a Gamma, Helm, Johnson e Vlissides, la cosidetta GoF, Gang of Four, che nel 1994 pubblico il libro Design Patterns con i primi pattern della storia.

Ciascun pattern è costituito da quattro parti:

  1. Nome, possibilmente breve e significativo;
  2. Contesto, descrizione del contesto cui il pattern si applica;
  3. Soluzione, descrizione della soluzione al problema che il pattern si prefigge di risolvere;
  4. Conseguenze e compromessi con l’applicazione del pattern.

Un design pattern rappresenta una soluzione a problemi ricorrenti. I vantaggi dell’uso dei pattern sono notevoli, quando ci si trova in un contesto in cui si può applicare un pattern, saremo sicuri che la soluzione proposta dal pattern è la migliore che esiste. Con i pattern si riutilizza codice di alta qualità, pulito, elegante, generale e stabile.

I Design Pattern creazionali, strutturali e comportamentali

I pattern vengono suddivisi in base dalla GoF nel seguente modo:

Come si può notare, esistono 3 tipi di pattern (con relativi link agli approfondimenti):

  1. Pattern Creazionali, di cui fanno parte i pattern Factory, Abstract Factory, Singleton, Builder e Prototype;
  2. Pattern comportamentali, che include i pattern Chain of responsability, Iterator, Command, Strategy Pattern, Template Methiod Pattern, Interpreter, Mediator Pattern, Memento Pattern e Observer Pattern;
  3. Pattern Strutturali, che contiene i pattern Adapter, Composite, Decorator, Bridge, Facade, Flyweight e Proxy;

A cui si aggiungono altri tipi di pattern che non operano al livello di design del sistema come i pattern architetturali in cui un tipico esempio è il pattern Model View Controller.

In conclusione i Design Patterns offrono un alto livello di astrazione, molte classi ed oggetti possono essere trattati come una singola unità. Forniscono soluzioni a problemi comuni, risparmiandoci di dover pensare ogni volta che si affronta un problema comune alla soluzione migliore da adottare. I design pattern contengono già le soluzioni migliori scoperte fin’ora.

Pubblicato in Design Pattern, Guide, Java, Programmazione Taggato con: , , , , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*