Patrón Mediator — Ejemplo Práctico

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

El patrón Mediator centraliza la coordinación entre varios componentes relacionados.

1. El Problema de Partida

El sidebar de knowledge tiene 3 controles interdependientes: buscador (searchQuery), filtro de categoría (activeCategory) y estado plegado de grupos (collapsedGroups). Sin coordinación, cada componente necesitaría conocer a los otros dos directamente (si buscas, se debe expandir el grupo con resultados; si cambias de categoría, se debe limpiar la búsqueda), generando referencias cruzadas entre SearchBox, CategoryFilter y ModuleLessonsNav.

2. La Solución Mediator

3. Uso en el componente del sidebar

4. Ventajas

  • SearchBox y CategoryFilter no se conocen entre sí, solo hablan con el mediador.
  • Regla de negocio en un solo lugar: "cambiar categoría limpia búsqueda" vive en SidebarMediator, no repartida en cada componente.
  • Fácil de extender: un cuarto control (ej. orden alfabético) solo requiere añadir su caso en notify().