Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Adapter en JDK vs. Adapter Pattern

Saludos:

Una duda muy tonta. En el JDK tenemos bastantes clases "Adapter" como, por ejemplo, ComponentAdapter, que implementan todos los métodos de un interfaz, generalmente sin contenido en los mismos.

Sin embargo, leyendo un par de fuentes distintas veo que el patrón "Adapter" de GoF se define como un mecanismo (normalmente una clase) para que un cliente que utiliza los servicios definidos por un interfaz I pueda aprovecharse de una clase C que proporciona esos mismos servicios, pero sin implementar el interfaz I.

Por ejemplo, un interfaz IWindowUtilities declara el método getScreenWidth para obtener el ancho de la pantalla. La clase ScreenDevice define el método int getDeviceWidth, que sirve para obtener el ancho de la pantalla. Para poder aprovecharse de su funcionalidad, se escribiría un WindowDeviceAdapter que implementaría IWindowUtilities con un método así:


public int getScreenWidth() {
return new ScreenDevice().getDeviceWidth();
}


Para mí, lo que hacen las clases Adapter de JDK no es lo mismo que define el patrón Adapter, porque no intentan enlazar el interfaz que implementan con una clase existente que presta, con otros nombres, los servicios definidos por ese interfaz.

¿Estoy interpretando mal (o de manera muy estricta) el patrón Adapter, o es que lo que hacen los Adapter del JDK es una "versión libre" del patrón?

Muchas gracias.

abril 8, 2015 | Registered Commenterrickiees