Adapter es un patrón de diseño estructural que permite colaborar a objetos incompatibles.
El patrón Adapter actúa como envoltorio entre dos objetos. Atrapa las llamadas a un objeto y las transforma a un formato y una interfaz reconocible para el segundo objeto.
Ejemplos de uso: El patrón Adapter es muy común en el código Java. Se utiliza muy a menudo en sistemas basados en algún código heredado (legacy). En estos casos, los adaptadores crean código heredado con clases modernas.
Hay algunos adaptadores estándar en las principales bibliotecas de Java:
Identificación: Adapter es reconocible por un constructor que toma una instancia de distinto tipo de clase abstracta/interfaz. Cuando el adaptador recibe una llamada a uno de sus métodos, convierte los parámetros al formato adecuado y después dirige la llamada a uno o varios métodos del objeto envuelto.
Encajar piezas cuadradas en agujeros redondos
Este sencillo ejemplo muestra el modo en que un Adapter puede hacer que objetos incompatibles trabajen juntos.
round
round/RoundHole.java: Agujeros redondos
round/RoundPeg.java: Piezas redondas
square
square/SquarePeg.java: Piezas cuadradas
adapters
adapters/SquarePegAdapter.java: Adaptador de piezas cuadradas para agujeros redondos