Skip to main content

Inicia sesión en CleanKata

Sigue tu progreso, gana XP y desbloquea todas las lecciones.

Al iniciar sesión aceptas nuestros Términos de uso y Política de privacidad.

Patrones de Diseño80 XP8 min

Cadena de Responsabilidad

Pasa una solicitud a lo largo de una cadena de manejadores — cada uno decide procesarla o pasarla al siguiente, desacoplando emisor de receptor.

Por qué importa

Cuando una sola función maneja cada caso con una cadena creciente de bloques if/elif, se convierte en una trampa de mantenimiento. El patrón Cadena de Responsabilidad te permite construir una tubería de objetos manejadores — cada uno responsable independientemente de lo que conoce. Cuando llega una solicitud, viaja por la cadena hasta que un manejador la reclama. Añadir un nuevo manejador significa crear una nueva clase, sin tocar el código existente.

Dónde ya lo encuentras

Las pilas de middleware HTTP (Express, middleware de Django) son cadenas de responsabilidad — cada middleware maneja lo que le corresponde (auth, logging, rate-limiting) y pasa la solicitud hacia adelante. El burbujeo de eventos en el DOM es una cadena. El manejo de excepciones en muchos lenguajes recorre una cadena de manejadores. El patrón está en todos los frameworks una vez que lo buscas.

💡Conclusión clave

La Cadena de Responsabilidad brilla cuando tienes múltiples manejadores potenciales y no sabes de antemano cuál procesará la solicitud — construye la cadena, luego deja que la solicitud encuentre su manejador.

🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.

Pista: La Cadena de Responsabilidad brilla cuando tienes múltiples manejadores potenciales y no sabes de antemano cuál procesará la solicitud.

✗ Tu versión

Cadena de Responsabilidad — CleanKata — CleanKata