Patrón Chain of Responsibility — Ejemplo Práctico

PUBLICADO: 2026-08-17
AUTOR: MANUEL PRIETO
Patrones de Diseño

El patrón Chain of Responsibility encadena validaciones independientes, cada una con su propia responsabilidad.

1. El Problema de Partida

Antes de aceptar un post .mdx nuevo, scripts/validate-content.js comprobaba en un único método gigante: que el slug no colisione con otro existente, que translation_id no esté vacío, y que category exista en _category.json. Cada validación nueva (ej. "el date debe tener formato ISO") obligaba a editar ese mismo método monolítico.

2. La Solución Chain of Responsibility

3. Uso

4. Ventajas

  • Cada regla vive aislada y se testea sin montar las demás.
  • Añadir una validación nueva (ej. formato de fecha) = una clase más en la cadena.
  • Orden explícito y reordenable sin tocar la lógica interna de cada validador.