Patrón Adapter
¿Qué es el Patrón Adapter?
El Adapter es un patrón de diseño estructural que permite que clases con interfaces incompatibles trabajen juntas al convertir la interfaz de una clase en otra que el cliente espera. Es útil para conectar sistemas antiguos con nuevos sin modificar su código.
Código de Ejemplo en JavaScript
class OldSystem {
constructor() {
this.getData = function() {
return "Datos del sistema antiguo";
};
}
}
class NewSystem {
constructor() {
this.fetchData = function() {
return "Datos del sistema nuevo";
};
}
}
// Adaptador
class Adapter {
constructor(oldSystem) {
this.oldSystem = oldSystem;
}
fetchData() {
return this.oldSystem.getData();
}
}
// Uso del Patrón Adapter
const oldSystem = new OldSystem();
const adapter = new Adapter(oldSystem);
console.log("Sistema antiguo a través del adaptador:", adapter.fetchData());
const newSystem = new NewSystem();
console.log("Sistema nuevo:", newSystem.fetchData());
Casos de Uso
- Conectar un sistema antiguo con uno nuevo sin modificar el código existente.
- Hacer compatibles bibliotecas de terceros con tu aplicación.
- Establecer una capa de adaptación entre APIs con diferentes interfaces.
Patrones Relacionados
- Bridge: Desacopla abstracciones de sus implementaciones, mientras que Adapter conecta interfaces existentes.
- Decorator: Añade funcionalidad, pero no convierte interfaces.
- Facade: Simplifica la interacción con un subsistema, pero no adapta interfaces incompatibles.