Sofiane Boumedine Lexique Dev

Chain of Responsibility

JavaScript 🟡 Mid

Type : Pattern

Definition

La chaine de responsabilite fait passer une requete a travers une serie de handlers. Chaque handler decide de traiter la requete ou de la passer au suivant dans la chaine.

Analogie

Le service client d'une entreprise : si le premier agent ne peut pas resoudre ton probleme, il te transfere au suivant, et ainsi de suite.

Exemple de code

const handlers = [
  (req) => req.level === class="str">'info' ? console.log(req.msg) : null,
  (req) => req.level === class="str">'warn' ? console.warn(req.msg) : null,
  (req) => console.error(class="str">'Unhandled:', req.msg),
];
const handle = (req) => handlers.find(h => h(req) !== null);

Cas d'usage

Implementer un pipeline de validation ou les donnees passent par plusieurs etapes de verification.

pattern