Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Pattern Decorator (wrapper)
Le pattern Decorator (a ne pas confondre avec les decorateurs Python avec @) est un pattern GoF qui permet d'enrichir un objet en l'enveloppant dans un autre objet. C'est comme un emballage cadeau : tu peux ajouter des couches les unes sur les autres.
Chaque wrapper delegue a l'objet qu'il enveloppe, et ajoute sa propre transformation :
Les wrappers peuvent etre empiles. Chaque couche transforme le résultat de la couche précédente.
Implemente : - TexteBase(contenu) avec afficher() qui retourne le contenu - Majuscule(composant) wrappeur : afficher() retourne le texte en majuscules - ExclamationWrapper(composant) wrappeur : afficher() ajoute '!' a la fin
Exemple : ExclamationWrapper(Majuscule(TexteBase('hello'))).afficher() # 'HELLO!' ExclamationWrapper(ExclamationWrapper(TexteBase('ok'))).afficher() # 'ok!!'