I Design Patterns o schema di progettazione è una raccolta di buoni consigli pratici di concezione per alcuni problemi ricorrenti nella programmazione orientata oggetto. Il concetto di Design Pattern è il risultato del lavoro di 4 persone (Erich Gamma, Richard Helm, Ralph Johnson, e John Vlissides conosciuti con il nome di Gang of Four) nel loro libro Design Patterns: Elements of Reusable Object-Oriented Software, pubblicato nel 1995 e che propone 23 motivi di concezione.
Un Design Patterns può essere visto come un documento che formalizza la struttura di una classe permettendo di rispondere ad una particolare situazione. I Design Patterns sono classificati in tre grandi famiglie:
Pattern creazionali, ovvero Abstract Factory Pattern, Builder Pattern, Factory Method Pattern, Prototype Pattern, Singleton Pattern;
Pattern strutturali, cioè Adapter Pattern, Bridge Pattern, Composite Pattern, Decorator Pattern, Facade Pattern, Flyweight Pattern, Proxy Pattern;
Pattern comportamentali, Chain of Responsibility Pattern, Command Pattern, Interpreter Pattern, Iterater Pattern, Mediator Pattern, Memento Pattern, Observer Pattern, State Pattern, Strategy Pattern, Template Method Pattern, Visitor Pattern.
Qui di seguito alcuni esempi di pattern di concezione: Pattern MVC (Model-View-Controller), parte dal principio che ogni applicazione può essere scomposta in tre livelli separati: Model, cioè i dati; View, cioè la rappresentazione dei dati; Controller, cioè l'elaborazione dei dati in vista della loro rappresentazione. Il Pattern Proxy definisce invece un obiettivo intermedio che possa effettuare, in modo trasparente per l'utente, le chiamate di metodi a un oggetto remoto.
Foto: © Pixabay.