Design Patterns - Elementi per il riuso di software ad oggetti è un saggio del 1995. Nel libro gli autori, detti “la Gang of Four”, riprendono un concetto dell'architetto Christopher Alexander, il design pattern, adattandolo all'informatica.

Anche se il concetto di pattern come soluzione ricorrente a un problema è anteriore all'uscita del libro, l'enorme successo riscosso da quest'ultimo ha contribuito notevolmente alla sua popolarizzazione, che ha dato inizio ad un'intera corrente filosofica della programmazione: il movimento pattern.

La filosofia di progettazione dei software mediante pattern mutua quella di ispirazione architettonica e urbana di Alexander, riportata in bibliografia.

I pattern sono utilizzati da molti dei migliori programmatori, quali Bruce Eckel, Andrei Alexandrescu ed Herb Sutter, e la loro conoscenza viene solitamente raccomandata a chiunque voglia progettare software a livello professionale, non solamente tramite il paradigma ad oggetti. In effetti i pattern non sono basati su di uno specifico linguaggio di programmazione, anche se nel libro gli esempi di codice sono in C++ e Smalltalk, con alcuni diagrammi di classe di tipo UML.

Il concetto stesso di pattern ne permette facilmente la traduzione in qualunque linguaggio: nel primo capitolo §1.1 della versione inglese, si dice:

E in effetti, il meccanismo della interrupt chain usato in ambiente Intel non è che l'implementazione in assembly di un Observer pattern: gli INT costituiscono le varie notify(), mentre le funzioni registrate nella interrupt chain sono gli observer. Volendo, poi, il meccanismo che nelle versioni a 32 bit di Windows assorbe gli INT prima della chain, è una versione, sempre in assembly, del Decorator (v. Windows 95 - dentro il sistema per maggiori dettagli). Tuttavia, l'uso in un linguaggio object oriented ne facilita senz'altro l'implementazione e talvolta alcuni tipi vengono supportati nativamente.

Design pattern Un design pattern descrive una soluzione generale a un problema di progettazione ricorrente, gli attribuisce un nome, astrae e identifica gli aspetti principali della struttura utilizzata per la soluzione del problema, identifica le classi e le istanze partecipanti e la distribuzione delle responsabilità, descrive quando e come può essere applicato. In breve definisce un problema, i contesti tipici in cui si trova e la soluzione ottimale allo stato dell'arte.

Nel libro gli autori, detti Gang of Four, cioè "banda dei quattro", identificarono 23 tipi di Design Pattern, suddivisi in 3 categorie: strutturali, creazionali e comportamentali. Inoltre, per la descrizione dei pattern, spesso si rende necessario il ricorso a pattern più semplici, dando così origine al cosiddetto linguaggio di pattern.

Edizioni

Bibliografia Salingaros, N., Some notes on Christopher Alexander ", UTSA Schulman, A. Windows 95 - dentro il sistema

Voci correlate Cocoa (software) Design pattern PLoP Nikos Salingaros A Pattern Language

Collegamenti esterni

Categoria:Teorie dell'informatica Categoria:Saggi di informatica Categoria:Libri sull'informatica