Patrón Adapter
Lectura de ~3 minutos
Convierte la interfaz de una clase a otra interfaz que espera el cliente. Permite que varias clases trabajen de forma conjunta aún teniendo intergaces incompatibles.
Aplicabilidad
-
Se necesita utilizar una clase existente, pero su interfaz no coincide con tus necesidades.
-
Se necesita crear una clase reusable que coopera con clases no relacionadas o inesperadas, es decir, clases con las que no existe una interfaz compatible.
-
Se necesita usar muchas subclases existentes, pero no es posible adaptar su interfaz a cada subclase.
Estrucutra
La clase a adaptar es llamada desde otra clase que tiene una interfaz que es esperada y usada por el cliente.
Consecuencias
-
La clase Adapter adapta una clase Adaptada en concreto.Esto hará que la clase Adapter no funcione cuando queramos adoptar una clase y todas sus subclases.
-
La clas Adapter introduce un solo objeto, no hace falta ninguna indirección para obtener la clase adaptada.
-
Un objeto Adapter puede añadir funcionalidad a todo un conjunto de objetos adaptados y sus subtipos de una vez.
-
Hace más difícil sobreescribir el comportamiento de la clase Adaptada. Requiere crear las subclases de la clase adaptada y crear referencia a dichas subclases de la clase Adapter.
Como de costumbre aquí teneis un ejemplito en net core.
Nos vemos en la próximas líneas.