Design Patterns (DP). Ou "patron" Comme 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 :

  • un nom (et éventuellement des noms équivalents ou traduits)
  • une motivation
  • une structure
  • des participants
  • des collaborations entre participants

On peut caractériser les modèles en :

  • modèles (de conception) ;
  • modèle d'amélioration : modèle transitoire pour passer d'une mauvaise à une bonne solution ;
  • modèle gris : quelque chose dont on ne sait s'il s'agit d'un modèle d'amélioration ou d'un anti-modèle ;
  • anti-modèle : ce qu'il ne faut pas faire, ce qu'il faut éviter ;

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.

  • Les modèles de conception les plus connus sont ceux du [GoF].
  • D'autres modèles existent, tels que :

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