Software design patterns
In Ingegneria del software, uno schema progettuale (o design pattern), inizialmente ideato dall’architetto Christopher Alexander, è una soluzione formalizzata, riutilizzabile e collaudata ad un problema comune o ricorrente durante processo di progettazione di un software.
Utilizzare design patterns già collaudati permette di sfruttare l’esperienza collettiva di progettisti esperti, promuovendo al contempo buone pratiche che aiutano a costruire software flessibili evitando documentazioni eccessive.
Cos'è la struttura Gang of Four (GoF)?
Un design pattern è tipicamente descritto da quattro elementi essenziali (Gang of Four o GoF):
- Nome: un’etichetta per identificare il pattern;
- Problema: descrive la situazione progettuale in cui il pattern è utile;
- Soluzione: descrive in modo astratto gli elementi (classi, oggetti) e le loro relazioni, per risolvere il problema;
- Conseguenze: i risultati e i compromessi (trade-off) che derivano dall’applicazione del pattern.