Chain of Responsibility

Architecture 🟡 Mid

Définition

Passe une requête le long d'une chaîne de handlers. Chaque handler décidé de traiter la requête ou de la passer au suivant.

Analogie

Le service client : opérateur, superviseur, manager — ta demande remonte jusqu'a quelqu'un qui peut la traiter.

Exemple de code

class Handler {
  setNext(h) { this.next = h; return h; }
  handle(req) {
    if (this.canHandle(req)) return this.process(req);
    return this.next?.handle(req);
  }
}

Cas d'usage

Pipeline de validation, middleware Express, gestion d'evenements DOM (bubbling).

Anti-pattern

Chaîne trop longue sans handler par défaut — la requête tombe dans le vide.
#architecture#interview#gof#behavioral

En entretien

  1. Explique le pattern Chain of Responsibility avec un exemple concret.

    Une requête passe le long d'une chaîne de handlers, chacun décidant de la traiter ou de la transmettre au suivant ; c'est exactement le principe des middlewares Express ou du bubbling d'événements DOM.

  2. Quel piège faut-il éviter en construisant cette chaîne ?

    Une chaîne trop longue sans handler par défaut, où la requête finit par tomber dans le vide sans être traitée.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre