Patrons GRASP
Les patrons GRASP sont des patrons créés par Craig Larman qui décrivent des règles pour affecter les responsabilités aux classes d'un programme orienté objets pendant la conception, en liaison avec la méthode de conception BCE (pour « Boundary Control Entity » - en français MVC « Modèle Vue Contrôleur ») :
- Responsabilités
- Expert
- Créateur
- Faible couplage
- Forte cohésion
- Contrôleur
- Polymorphisme
- Indirection
- Fabrication pure
Patrons de conception du GoF
Les patrons de conception les plus connus sont au nombre de 23. Ils sont couramment appelés « patrons GoF » (de « Gang of Four », d'après les quatre créateurs du concept). Le patron Modèle-Vue-Contrôleur (MVC) est une combinaison des patrons Observateur, Stratégie et Composite.
On distingue trois familles de patrons de conception selon leur utilisation :
- de construction : ils définissent comment faire l'instanciation et la configuration des classes et des objets.
- structuraux : ils définissent comment organiser les classes d'un programme dans une structure plus large (séparant l'interface de l'implémentation).
- comportementaux : ils définissent comment organiser les objets pour que ceux-ci collaborent (distribution des responsabilités) et expliquent le fonctionnement des algorithmes impliqués.
Création
- Fabrique abstraite (Abstract Factory)
- Monteur (Builder)
- Fabrique (Factory Method)
- Prototype (Prototype)
- Singleton (Singleton)
Structure
- Adaptateur (Adapter)
- Pont (Bridge)
- Objet composite (Composite)
- Décorateur (Decorator)
- Façade (Facade)
- Poids-mouche ou poids-plume (Flyweight)
- Proxy (Proxy)
Comportement
- Chaîne de responsabilité (Chain of responsibility)
- Commande (Command)
- Interpréteur (Interpreter)
- Itérateur (Iterator)
- Médiateur (Mediator)
- Mémento (Memento)
- Observateur (Observer)
- État (State)
- Stratégie (Strategy)
- Patron de méthode (Template Method)
- Visiteur (Visitor)
Autres patrons de conception
Patron d'entreprise (ou patron de Martin Fowler)
Martin Fowler, dans son livre Entreprise Design Pattern, présente aussi des séries de patron de conception courants. Par exemple, on y retrouve les patrons de couplage entre un modèle objet et une base de donnée relationnelle. Par exemple, différents patrons pour le polymorphisme. On y retrouve les patrons Optimistic Offline Lock et Pessimistic Offline Lock.
Il s'agit de patrons de base, concrets.
Thème connexe
Sur les autres projets Wikimédia :