Software design patterns

Adapter & Bridge

30, Sep 2015

Adapter pattern

  • Permite a 2 interfaces diferentes trabajar juntas

*Es un patrón estructural de composición o agregación de clases y objetos.

  • La Clase adaptador permite el uso de la interfaz disponible y la interfaz destino(objetivo).

Cualquier clase puede trabajar junto a otra mientras el Adaptardor resuelva el problema para que todas las clases implementen cada uno de los metodos definidos por la interfaz compartida.

implements interface *

Sobre la Interfaces

Interfaz 

Clase abstracta

Si tenemos una clase llamada “Casa”, esa clase puede implementar una interfaz llama “AireAcondicionado” . Teniendo en cuenta que aire acondicionado no es realmente una parte de la casa, y la relación no es  tan fuerte como la relación entre una clase “Apartamento” que derive de una clase “Casa”

 

- Julio Castellanos (2015) Principio SOLID: Abierto-cerrado (OCP)

¿ Cuando usar el Adapter ?

Cuando el cliente espere una interfaz objetivo

Diagrama de clase Adapter pattern

Demo

Ejemplo del patrón Adapter en JAVA

The Bridge pattern

The Bridge pattern

Desacopla una abstracción de su implementación para que puedan variar independientemente.

  • Este patrón generalmente muy mal explicado
  • Muchos autores lo explican de forma diferente

The Bridge pattern

2 capas de abstracción entre clases

1 clase es independiente sobre la otra

¿ Cuando usar el Bridge ?

Cuando se quiere cambiar las clases abstractas y las clases concretas de forma independiente.

Úselo cuando:

  •  La primera clase abstracta defina las reglas (Abstract TV)
  •  Las clases concretas agregan reglas adicionales (Concrete TV )
  • Una clase clase abstracta tiene una referencia al dispositivoy define los métodos abstractos que debe ser definidos (Abstract Remote )
  • La clase concreta del Remote define los métodos abstractos requeridos...

Cuando...

Demo

Ejemplo del patrón Bridge en JAVA

Software design patterns: Adapter & Bridge

By Julio César

Software design patterns: Adapter & Bridge

How to use the adapter & bridge pattern with Java.

  • 828