4. Abstract Factory
Fournir une interface pour créer des objets d'une même famille sans préciser leurs
classes concrètes.
¨Permet d'isoler l'appartenance à une famille de classes.
Résultats
Objectifs
7. Builder
• Séparer la construction d'un objet complexe de sa représentation.
Permet d'isoler des variations de représentations d'un objet.
• Permettre d'obtenir des représentations différentes avec le même procédé de construction.
Résultats
Objectifs
10. Composite
• Organiser les objets en structure arborescente afin de représenter une hiérarchie
Permet d'isoler l'appartenance à un agrégat
• Permettre à la partie cliente de manipuler un objet unique et un objet composé de
la même manière
Résultats
Objectifs
13. Decorator/Wrapper
• Ajouter dynamiquement des responsabilités (non obligatoires) à un objet
Permet d'isoler les responsabilités d'un objet
• Eviter de sous classer la classe pour rajouter ces responsabilités
Résultats
Objectifs
16. Facade
• Fournir une interface unique en remplacement d'un ensemble d'interfaces d'un
sous-système
Permet d'isoler les fonctionnalités d'un sous-système utiles à la partie cliente
• Définir une interface de haut niveau pour rendre le sous-système plus simple
d'utilisation
Résultats
Objectifs
19. Mediator
• Gérer la transmission d'informations entre des objets interagissant entre eux
Permet d'isoler la communication entre des objets
• Avoir un couplage faible entre les objets puisqu'ils n'ont pas de lien direct entre
eux
Résultats
Objectifs
• Pouvoir varier leur interaction indépendamment
22. State
• Changer le comportement d'un objet selon son état interne
Permet d'isoler les algorithmes propres à chaque état d'un objet
Résultats
Objectifs
25. Strategy
• Définir une famille d'algorithmes interchangeables
Permet d'isoler les algorithmes appartenant à une même famille d'algorithmes
• Permettre de les changer indépendamment de la partie cliente
Résultats
Objectifs
28. Template Method
• Définir le squelette d'un algorithme en déléguant certaines étapes à des sous-
classes
Permet d'isoler les parties variables d'un algorithme
Résultats
Objectifs
31. Command
• Encapsuler une requête sous la forme d'objet
Permet d'isoler une requête
Résultats
Objectifs
• Paramétrer facilement des requêtes diverses
• Permettre des opérations réversibles
34. Observer
• Prévenir des objets observateurs, enregistrés auprès d'un objet observé, d'un
événement
Permet d'isoler un algorithme traitant un événement
Résultats
Objectifs
37. Proxy
• Fournir un intermédiaire entre la partie cliente et un objet pour contrôler les accès
à ce dernier
Permet d'isoler le comportement lors de l'accès à un objet
Résultats
Objectifs
40. Bridge
• Découpler l'abstraction d'un concept de son implémentation
Permet d'isoler le lien entre une couche de haut niveau et celle de bas niveau
Résultats
Objectifs
• Permettre à l'abstraction et l'implémentation de varier indépendamment
43. Adapter
• Convertir l'interface d'une classe dans une autre interface comprise par la partie
cliente
Permet d'isoler l'adaptation d'un sous-système
Résultats
Objectifs
• Permettre à des classes de fonctionner ensemble, ce qui n'aurait pas été possible
sinon (à cause de leurs interfaces incompatibles)