Decorator Pattern
JavaScript 🟡 MidType : Pattern
Definition
Le decorator pattern ajoute dynamiquement des responsabilites a un objet en l'enveloppant dans un objet decorateur. Chaque decorateur ajoute un comportement sans modifier l'objet original.
Analogie
Des couches de vetements : chaque couche ajoute une fonctionnalite (chaud, impermeable, elegant) sans modifier les couches en dessous.
Exemple de code
function withLogging(fn) {
return (...args) => {
console.log(class="str">`Calling with`, args);
const result = fn(...args);
console.log(class="str">`Result:`, result);
return result;
};
}
const add = withLogging((a, b) => a + b);Cas d'usage
Ajouter du logging, du caching ou de la validation a des fonctions existantes sans les modifier.