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

Mediator: Comunicación Centralizada

Restringe la comunicación directa entre objetos — fuerza la colaboración a través de un mediador para reducir dependencias caóticas muchos-a-muchos.

Por qué importa

Piensa en un aeropuerto. Los aviones no se hablan directamente entre sí — todos se comunican a través de la torre de control. Sin la torre, cada avión necesitaría saber sobre todos los demás. Con ella, cada avión solo necesita una conexión. Mediator aplica el mismo modelo hub-and-spoke a tus objetos: en lugar de N objetos con referencias a N-1 otros (O(N²) conexiones), cada objeto tiene una referencia al mediador (O(N) conexiones).

Apariciones en el mundo real

Los frameworks de UI usan Mediator constantemente. Un formulario con muchos campos que se habilitan/deshabilitan entre sí no debería tener campos conectados entre sí — un controlador de formulario (mediador) lo maneja. Redux y Vuex son Mediadores para el estado de la aplicación. Los buses de eventos (Node.js EventEmitter, CustomEvent del navegador) son mediadores. Servidores de chat, brokers de mensajes (RabbitMQ, Kafka) — todas variaciones de la misma idea.

💡Conclusión clave

Cuando demasiados objetos se comunican directamente entre sí, Mediator extrae esa complejidad a un solo lugar — un hub con el que todos hablan, reduciendo conexiones O(N²) a O(N).

🔧 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: Cuando demasiados objetos se comunican directamente entre sí, Mediator extrae esa complejidad a un solo lugar — un hub con el que todos hablan.

✗ Tu versión