Decorator
Architecture 🟡 MidDéfinition
Ajoute dynamiquement des responsabilités a un objet sans modifier sa classe. Offre une alternative flexible a l'héritage.
Analogie
Ajouter des garnitures sur une pizza : chaque garniture enveloppe la précédenté et ajoute son propre goût.
Exemple de code
function withLogging(fn) {
return (...args) => {
console.log('Call:', fn.name);
return fn(...args);
};
}
const save = withLogging(saveUser);
Cas d'usage
Ajouter logging, cache, validation ou authentification de façon transparente.
Anti-pattern
Termes liés
En entretien
Explique le pattern Decorator.
Il ajoute dynamiquement des responsabilités à un objet sans modifier sa classe, une alternative flexible à l'héritage — comme ajouter des garnitures sur une pizza, chacune enveloppant la précédente. On l'utilise typiquement pour ajouter du logging, du cache, de la validation ou de l'authentification de façon transparente.
Quel piège apparaît quand on empile trop de décorateurs ?
Le debug et la trace d'erreurs deviennent impossibles à suivre à travers toutes les couches empilées.
Fiche mise à jour le 2026-09-27