Design Patterns (DP). Ou "patron" n1Comme les patrons dans la conception de mode, qui servent à détourer des modèles. de conception.
Simplifier une création d'objet en partant d'un modèle à copier puis éventuellement modifier.
Les modèles de conception sont généralement définis par :
On peut caractériser les modèles en :
Par définition, un DP se limite au niveau d'une solution de conception et n'a pas d'implémentation déterminée (cette dernière dépendra du langage utilisé, des contraintes de la plate-forme, etc.). Toutefois, on trouve souvent un exemple d'implémentation dans des descriptions de DP.
Des exemples de modèles de conception sont :
Source | Type | Nom original | Description |
---|---|---|---|
GoF | Structuraux | Adapter | Adaptateur : fournir une interface différente de l'originelle |
Bridge | Pont entre abstraction et implémentation, afin de les rendre indépendants | ||
Prototype | Création d'objet à partir de modèle | ||
Composite | |||
Decorator | Décorateur : ajouter une fonctionnalité à un objet sans le modifier | ||
Facade | Façade | ||
Flyweight | Poids mouche | ||
Proxy | Délégué : | ||
Créateurs | Abstract factory : | Fabrique abstraite : créer sans connaître l'implémentation | |
Builder | Constructeur | ||
Factory method | Méthode de fabrique | ||
Prototype | |||
Singleton | Garantir une instance unique. | ||
Comportementaux | Chain of responsability | Chaine de responsabilités : traitement ou délégation du traitement à une hiérarchie de responsables | |
Command | Commande ou Action : Encapsulation d'un comportement, réutilisation dans divers contextes. | ||
Interpreter | Interpréteur | ||
Iterator | Itérateur | ||
Mediator | Médiateur | ||
Memento | Copie | ||
Observer | Observateur | ||
State | Etat : Chaque classe d'état répond à un événement par l'état suivant | ||
Strategy | Stratégie : Algorithme variable | ||
Template method | Modèle de méthode : comportement et services commun pour un modèle d'objets (framework) | ||
Visitor | Visiteur : traitement dépendant d'un type sans dépendance statique à ce type | ||
Concurrence | Balking | ||
Suspension gardée | |||
Planificateur | |||
Verrou lecture écriture | |||
Verrouillage doublement vérifié | |||
Désactivation requêtes de tâche pendant exécution de tâche | |||
Temps réel | Tâche planifiée | ||
J2EE | DAO | Encapulser l'accès aux données | |
Value object | Objet valeur. Faire voyager un état depuis un objet distant | ||
Session facade | |||
Business delegate | |||
Adaptateur EJB | |||
MVC |