Junior — Middle
Quelle est la finalité et l'utilisation du motif Decorator en programmation?
sobes.tech IA
Réponse de l'IA
Le motif Decorator permet d'ajouter dynamiquement de nouvelles responsabilités aux objets, en les enveloppant dans d'autres objets décorateurs sans modifier la classe d'origine.
Ceci est utile lorsque vous souhaitez étendre la fonctionnalité sans créer un grand nombre de sous-classes.
Exemple d'utilisation en Node.js:
class Coffee {
cost() {
return 5;
}
}
class MilkDecorator {
constructor(coffee) {
this.coffee = coffee;
}
cost() {
return this.coffee.cost() + 2; // ajout du coût du lait
}
}
const simpleCoffee = new Coffee();
const milkCoffee = new MilkDecorator(simpleCoffee);
console.log(milkCoffee.cost()); // 7
Ainsi, le motif permet de combiner de manière flexible le comportement des objets à l'exécution.