Vous êtes sur la page 1sur 3

Design Patterns

Singleton

• Catégorie : Création.
• Limiter l’instanciation d’une classe à une seule instance et fournir un point d'accès
global à cette instance.
• Utilisé pour la journalisation, objets pilotes etc...
• Un constructeur privé pour restreindre l’instanciation de la classe à partir d’autres
classes.
• Une variavle statique privée qui est la seule instance de la classe.
• Une méthode statique publique qui retourne l’instance de la classe : le point d’accès
global.
• Exemple : le cas le plus utilisé pour le design pattern singleton c’est la connexion à
une BD : on doit ouvrir juste un seul canal de connexion.

Strategy

• Catégorie : Comportement.
• Séparer l'algorithme de son utilisation, permettant ainsi de changer dynamiquement
le comportement d'un objet à l'exécution, sans toucher à son code source.
• Le comportement souhaité est encapsulé dans des classes distinctes appelées
"stratégies".
• Stratégie : Interface ou classe abstraite qui définit une méthode ou des méthodes
pour le comportement.
• Contexte : La classe qui utilise une stratégie pour effectuer des opérations. Elle
détient une référence à une stratégie et peut la changer selon le besoin.
• Exemple : Contexte Programme de Tri , Stratégies Tri Bulles , Tri Rapide, Tri Fusion.
Builder

• Catégorie : Création.
• Construire un objet pièce par pièce, généralement via une interface . Cela permet
d'encapsuler le processus de construction et de réduire la complexité liée à la
création directe de ces objets.
• Produit : L'objet complexe à construire.
• Builder : Interface ou classe abstraite qui définit les étapes nécessaires pour
construire le produit.
• Builders concrets : Implémentations spécifiques du Builder, chacune capable de
construire des variantes différentes du produit.
• Directeur : Un objet qui dirige le processus de construction, il peut définir l'ordre
dans lequel les parties sont assemblées.
• Exemple : Construire des objets complexes comme des voitures, ou des documents
comme des rapports ou des formulaires complexes.

Decorator

• Catégorie : Structure.
• Implémenter la même interface que le composant de base, mais en ajoutant des
comportements ou des fonctionnalités spécifiques supplémentaires.
• Composant : L'interface ou classe de base qui définit le comportement standard.
• Composant concret : Une implémentation spécifique du composant.
• Décorateur : Une classe qui implémente la même interface que le composant et
contient une référence au composant qu'elle décore.
• Décorateurs concrets : Des classes qui ajoutent des comportements spécifiques.
• Exemple: dans une application graphique, vous pouvez avoir un objet "Text" de base
et des décorateurs comme "BorderDecorator" (ajoutant une bordure autour du
texte) ou "ColorDecorator" (changeant la couleur du texte).

Vous aimerez peut-être aussi