Design pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
spostate alcune categorie per mettere prima strutturali, creazionali e comportamentali
Riga 31:
==Classificazione dei design pattern==
I design pattern possono essere classificati con diversi criteri, i più comuni dei quali sono quelli che evidenziano il tipo di problema che si cerca di risolvere. Il tipo di problema può essere legato ad uno specifico dominio progettuale (telecomunicazioni, reti, software...) oppure, più comunemente, al problema progettuale in senso più ampio (ad esempio creazione, comportamento, navigazione di oggetti o strutture dati).
 
Nel loro [[Design Patterns|libro]] la "[[Gang of four|banda dei quattro]]" identificò 23 tipi di design pattern, suddivisi in 3 categorie: strutturali, creazionali e comportamentali.
 
===Pattern Creazionali===
Riga 57 ⟶ 59:
* [[Pipes and filters|Pipes and filters]]
* [[Private class data pattern|Private class data]]
 
===Pattern Architetturali===
I pattern architetturali esprimono delle soluzioni adeguate alle fondamentali strutture o schemi di un sistema software.
 
* [[Broker pattern|Broker]]
* [[Model-View-Controller|MVC]]
* [[Presentation Abstraction Control pattern|Presentation Abstraction Control]]
* [[Microkernel pattern|Microkernel]]
* [[Reflection pattern|Reflection]]
* [[Layers pattern|Layers]]
* [[Pipes and Filters pattern|Pipes and Filters]]
* [[Blackboard pattern|Blackboard]]
 
===Pattern Comportamentali===
Riga 87 ⟶ 77:
* Il [[Template method]] permette di definire la struttura di un algoritmo lasciando alle sottoclassi il compito di implementarne alcuni passi come preferiscono.
* Il [[Visitor]] permette di separare un algoritmo dalla struttura di oggetti composti a cui è applicato, in modo da poter aggiungere nuovi comportamenti senza dover modificare la struttura stessa.
 
 
===Pattern Architetturali===
I pattern architetturali esprimono delle soluzioni adeguate alle fondamentali strutture o schemi di un sistema software.
 
* [[Broker pattern|Broker]]
* [[Model-View-Controller|MVC]]
* [[Presentation Abstraction Control pattern|Presentation Abstraction Control]]
* [[Microkernel pattern|Microkernel]]
* [[Reflection pattern|Reflection]]
* [[Layers pattern|Layers]]
* [[Pipes and Filters pattern|Pipes and Filters]]
* [[Blackboard pattern|Blackboard]]
 
===Pattern di metodologia===
*[[Make it run, make it right, make it fast, make it small]]
 
 
==Voci correlate==