2. Plan :
I - Introduction
II - Le problème
III - Le decorator Design Pattern
IV - Exemple
3. I - Introduction
Le Decorator Design Pattern est l'un des modèles de conception
les plus connus qui décrivent comment résoudre des problèmes
de conception récurrents pour créer des logiciels orientés objet
flexibles et réutilisables en utilisant des objets faciles à mettre
en œuvre, à modifier, tester et réutiliser.
9. II- Le problème
● Vous souhaitez ajouter un nouveau comportement ou un état à des
objets individuels au moment de l'exécution.
● Si on abuse du principe de l’héritage, on aboutit rapidement à un modèle
complexe contenant un grand nombre de classes.
● L’héritage de classe se définit lors de l’écriture du programme et ne peut
être modifié après la compilation. Or, dans certains cas, on peut vouloir
rajouter des fonctionnalités de façon dynamique.
11. 1 - Principe
● Plusieurs ComposantConcret peuvent hériter
de Composant.
● Si l’on souhaite étendre / modifier les
fonctionnalités des ComposantConcret on
peut créer un décorateur.
● Il s’agit d’une classe abstraite héritant de
Composant et ayant un attribut de type
Composant.
● Pour ajouter des fonctionnalités à un
ensemble de ComposantConcret on va créer
des classes DecorateurConcret qui héritent de
Decorateur.
23. Les consequences
● la conception de classes qui risquent d’évoluer fortement.
● Il faut donc réfléchir aux points sensibles de l’application qui risquent
d’évoluer dès la phase d’analyse.
● Il devient parfois fastidieux de gérer tous les objets créés et de les
décorer. C’est pour cette raison que ce pattern est souvent utilisé avec
le pattern Factory ou Builder qui répondent à cette problématique.