intermediate

Chain of Responsibility

Передавайте request через ordered handlers, пока один не обработает ее или каждый не добавит behavior, как в middleware и validation chains.

Chain of Responsibility пропускает request через упорядоченные handlers, пока один не обработает или каждый не добавит поведение — HTTP middleware, validation pipelines, эскалация support, logging filters. Handlers композируемы и явно short-circuit при завершении.

На интервью: Express/Koa middleware или Nest guards. Обязателен ли `next` и как идут ошибки.

Типовые ошибки: забытый `next` и зависшие requests; неявный порядок; слишком длинные цепочки.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Маленький явный handler interface.
  • Порядок security-sensitive шагов документирован.
  • Ясные правила short-circuit.
  • Integration tests на permutations цепочки.