Sofiane Boumedine Lexique Dev

Decorator Pattern

JavaScript 🟡 Mid

Type : 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.

patterninterview-question