Design Pattern - Panoramica

I modelli di progettazione rappresentano le migliori pratiche utilizzate dagli sviluppatori di software orientati agli oggetti esperti. I design pattern sono soluzioni a problemi generali che gli sviluppatori di software hanno dovuto affrontare durante lo sviluppo del software. Queste soluzioni sono state ottenute per tentativi ed errori da numerosi sviluppatori di software per un periodo di tempo piuttosto considerevole.

Cos'è Gang of Four (GOF)?

Nel 1994, quattro autori Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides hanno pubblicato un libro intitolato Design Patterns - Elements of Reusable Object-Oriented Software che ha avviato il concetto di Design Pattern nello sviluppo del software.

Questi autori sono noti collettivamente come Gang of Four (GOF). Secondo questi autori, i modelli di progettazione si basano principalmente sui seguenti principi di progettazione orientata agli oggetti.

  • Programma su un'interfaccia, non un'implementazione

  • Preferisci la composizione degli oggetti all'ereditarietà

Utilizzo di Design Pattern

I Design Pattern hanno due utilizzi principali nello sviluppo del software.

Piattaforma comune per gli sviluppatori

I modelli di progettazione forniscono una terminologia standard e sono specifici per uno scenario particolare. Ad esempio, un modello di progettazione singleton indica l'uso di un singolo oggetto in modo che tutti gli sviluppatori che hanno familiarità con un modello di progettazione singolo utilizzino un singolo oggetto e possano dirsi l'un l'altro che il programma sta seguendo un modello singleton.

Migliori pratiche

I modelli di progettazione si sono evoluti in un lungo periodo di tempo e forniscono le migliori soluzioni a determinati problemi affrontati durante lo sviluppo del software. L'apprendimento di questi modelli aiuta gli sviluppatori inesperti ad apprendere la progettazione del software in modo facile e veloce.

Tipi di modelli di design

Come da manuale di riferimento del modello di progettazione Design Patterns - Elements of Reusable Object-Oriented Software, ci sono 23 modelli di progettazione che possono essere classificati in tre categorie: modelli creazionali, strutturali e comportamentali. Discuteremo anche un'altra categoria di design pattern: i design pattern J2EE.

SN Modello e descrizione
1 Creational Patterns
Questi modelli di progettazione forniscono un modo per creare oggetti nascondendo la logica di creazione, piuttosto che istanziare gli oggetti direttamente utilizzando un nuovo operatore. Ciò offre al programma maggiore flessibilità nel decidere quali oggetti devono essere creati per un determinato caso d'uso.
2 Structural Patterns
Questi modelli di progettazione riguardano la composizione di classi e oggetti. Il concetto di ereditarietà viene utilizzato per comporre interfacce e definire modi per comporre oggetti per ottenere nuove funzionalità.
3 Behavioral Patterns
Questi modelli di progettazione riguardano specificamente la comunicazione tra gli oggetti.
4 J2EE Patterns
Questi modelli di progettazione riguardano specificamente il livello di presentazione. Questi modelli vengono identificati da Sun Java Center.