You are here:
tecnoteca.it
Sezioni speciali
Ingegneria del software
Pattern
Tipi di Pattern
Design Patterns
Design Patterns
I design patterns esprimono soluzioni a problemi che insorgono nel contesto di sottosistemi o componenti in un’applicazione software fornendo degli schemi in cui vengono individuate delle classi oppure oggetti e vengono dettagliate le relazioni che intercorrono tra loro. Descrivono, quindi, strutture comuni e ricorrenti di componenti comunicanti tra loro che risolvono un problema di design generico entro un particolare contesto.Sono sicuramente i più conosciuti (e spesso chi parla di pattern si riferisce impropriamente ai design pattern) grazie alla popolarità del libro del GoF che ha avuto il merito di essere il primo a catalogare una serie di pattern in una forma chiara e precisa secondo un modello che assieme a quello utilizzato da C.Alexander (metodo alessandrino) rimangono i due standard di definizione di pattern.
I pattern presentati nel libro del GoF possono essere classificati in base a due criteri. Il primo definito scopo indica cosa fa un pattern: pertanto avremo pattern creazionali (si occupano del processo di creazione di un oggetto), strutturali (circa la composizione di classi oppure oggetti) e comportamentali (specificano le modalità in cui le classi o oggetti interagiscono fra loro attribuendo le responsabilità).
Il secondo criterio, definita come applicabilità, specifica se i pattern vengono applicati su classi oppure oggetti. I pattern sulle classi stabiliscono le relazioni tra le diverse classi attraverso il meccanismo dell’ereditarietà, perciò sono statici perché fissati in fase di compiling. I pattern sugli oggetti stabiliscono le relazioni tra gli oggetti che possono essere cambiate a run-time e sono pertanto più dinamici.
La maggior parte dei design pattern è di tipo oggetto quindi essenzialmente dinamici (gestibili a run-time).