Patrón Bridge
¿Qué es el Patrón Bridge?
El Bridge es un patrón de diseño estructural que permite desacoplar una abstracción de su implementación, facilitando que ambas puedan evolucionar independientemente. Es útil para evitar combinaciones explosivas de clases cuando las abstracciones y las implementaciones pueden variar.
Código de Ejemplo en JavaScript
class Abstraction {
constructor(implementation) {
this.implementation = implementation;
}
operation() {
return this.implementation.operationImplementation();
}
}
class ConcreteImplementationA {
operationImplementation() {
return "Implementación A: Operación realizada";
}
}
class ConcreteImplementationB {
operationImplementation() {
return "Implementación B: Operación realizada";
}
}
// Uso del Patrón Bridge
const implementationA = new ConcreteImplementationA();
const abstractionA = new Abstraction(implementationA);
console.log(abstractionA.operation());
const implementationB = new ConcreteImplementationB();
const abstractionB = new Abstraction(implementationB);
console.log(abstractionB.operation());
Casos de Uso
- Aplicaciones multiplataforma donde la lógica de negocio y la interfaz gráfica deben variar de manera independiente.
- Facilitar el soporte para múltiples implementaciones de una abstracción sin combinaciones explosivas de clases.
- Diseños en los que se necesita extender las funcionalidades de abstracciones e implementaciones por separado.
Patrones Relacionados
- Adapter: Conecta interfaces incompatibles, mientras que Bridge desacopla abstracciones e implementaciones.
- Composite: Se usa para trabajar con estructuras de árbol, mientras que Bridge desacopla niveles de jerarquías.
- Strategy: Define estrategias intercambiables, mientras que Bridge separa abstracciones e implementaciones.