0% ont trouvé ce document utile (0 vote)
3 vues3 pages

Modèles de conception en programmation

Ce document décrit quatre patrons de conception: Singleton, Strategy, Builder et Decorator. Singleton limite l'instanciation d'une classe à une seule instance. Strategy sépare un algorithme de son utilisation. Builder construit un objet de manière progressive. Decorator ajoute des fonctionnalités à un objet sans modifier sa structure.

Transféré par

yassine.merdassi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues3 pages

Modèles de conception en programmation

Ce document décrit quatre patrons de conception: Singleton, Strategy, Builder et Decorator. Singleton limite l'instanciation d'une classe à une seule instance. Strategy sépare un algorithme de son utilisation. Builder construit un objet de manière progressive. Decorator ajoute des fonctionnalités à un objet sans modifier sa structure.

Transféré par

yassine.merdassi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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