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

Bridge: Desacoplando la Abstracción

Divide una clase grande en dos jerarquías independientes — abstracción e implementación — para que ambas evolucionen sin afectarse mutuamente.

Por qué importa

La herencia es una herramienta de acoplamiento fuerte. Cuando una clase varía en dos dimensiones independientes — como el tipo de control remoto y el tipo de dispositivo — modelar ambas en una jerarquía produce M × N subclases. Bridge separa las dos dimensiones: la abstracción (RemoteControl) mantiene una referencia a la implementación (Device) y delega en ella. Agregar un nuevo control o un nuevo dispositivo es una sola clase nueva, no N o M.

Composición sobre herencia

Bridge es uno de los ejemplos más claros de preferir la composición sobre la herencia. El control remoto tiene un dispositivo en lugar de ser un tipo de dispositivo. Esto permite intercambiar el dispositivo en tiempo de ejecución — pasas una implementación diferente al mismo constructor de abstracción sin tocar ninguna subclase. El mismo principio aparece en JDBC (la API SQL es la abstracción; el driver es la implementación) y en bibliotecas gráficas que separan la lógica de formas de los backends de renderizado.

💡Conclusión clave

Si tienes M abstracciones × N implementaciones, Bridge previene M×N clases combinándolas — añade controles o dispositivos nuevos de forma independiente.

🔧 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: Si tienes M abstracciones × N implementaciones, Bridge previene M×N clases combinándolas — añade controles o dispositivos nuevos de forma independiente.

✗ Tu versión