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