Les Design patterns représentent les meilleures pratiques utilisées par les développeurs de logiciels orientés objet. Les design patterns sont des solutions aux problèmes généraux rencontrés par les développeurs lors du développement de logiciels. Ces solutions ont été obtenues par essais et erreurs par de nombreux développeurs sur une période assez longue.
Un design pattern n’est pas une conception finie qui peut être transformée directement en code. Il s’agit d’une description ou d’un modèle pour résoudre un problème qui peut être utilisé dans de nombreuses situations différentes.
Il existe 23 design patterns qui peuvent être classés en trois catégories: modèles de création (creational patterns), modèles de structuration (structural patterns), modèles de comportement (behavioral patterns)
Ces design patterns offrent un moyen de créer des objets tout en masquant la logique de création, plutôt que d’instancier des objets directement à l’aide de l’opérateur « new ». Cela donne au programme plus de flexibilité pour décider quels objets doivent être créés pour un cas d’utilisation donné.
- Singleton
- Factory
- Factory Method
- Abstract Factory Method
- Simple Factory
- Static Factory
- Builder
- Prototype
- Pool
Ces design patterns concernent la composition des classes et des objets. Le concept d’héritage est utilisé pour composer des interfaces et définir des façons de composer des objets pour obtenir de nouvelles fonctionnalités.
- Adapter / Wrapper
- Dependency Injection
- Decorator
- Facade
- Composite
- Proxy
- Bridge
- Data Mapper
- Fluent Interface
- Flyweight
- Registry
Ces design patterns concernent spécifiquement la communication entre les objets.
- Iterator
- Observer
- Memento
- Mediator
- State
- Visitor
- Strategy
- Chain Of Responsibilities
- Command
- Null Object
- Specification
- Template Method
Pour plus des details : Waytolearnx