Вы находитесь на странице: 1из 6

ADAPTER

PATRÓN ESTRUCTURAL
El patrón de diseño Adapter es utilizado cuando tenemos interfaces
de software incompatibles, las cuales a pesar de su incompatibilidad
tiene una funcionalidad similar. Este patrón es implementado cuando
se desea homogeneizar la forma de trabajar con estas interfaces
incompatibles, para lo cual se crea una clase intermedia que
funciona como un adaptador. Esta clase adaptador proporcionará los
métodos para interactuar con la interface incompatible.

Estructura del patrón Adapter.


Los componentes que conforman el patrón son los siguientes:

 Client: Actor que interactua con el Adapter.


 Target: Interface que nos permitirá homogenizar la forma de
trabajar con las interfaces incompatibles, esta interface es
utilizada para crear los Adapter.
 Adapter: Representa la implementación del Target, el cual
tiene la responsabilidad de mediar entre el Client y el Adaptee.
Oculta la forma de comunicarse con el Adaptee.
 Adaptee: Representa la clase con interface incompatible.
Diagrama de secuencia del patrón Adapter.

1. El Client invoca al Adapter con parámetros genéricos.


2. El Adapter convierte los parámetros genéricos en parámetros
específicos del Adaptee.
3. El Adapter invoca al Adaptee.
4. El Adaptee responde.
5. El Adapter convierte la respuesta del Adaptee a una respuesta
genérica para el Client.
6. El Adapter responde al Client con una respuesta genérica.

EJEMPLO DEL MUNDO REAL


Mediante la implementación del patrón de
diseño Adapter crearemos un adaptador que nos permite interactuar
de forma homogénea entre dos API bancarías, las cuales nos
permite aprobar créditos personales, sin embargo, las dos API
proporcionadas por los bancos cuenta con interfaces diferentes y
aunque su funcionamiento es prácticamente igual, las interfaces
expuestas son diferentes, lo que implica tener dos implementaciones
diferentes para procesar los préstamos con cada banco. Mediante
este patrón crearemos un adaptador que permitirá ocultar la
complejidad de cada implementación del API, exponiendo una única
interface compatible con las dos API proporcionadas, además que
dejáramos el camino preparado por si el día de mañana llegara una
nueva API bancaría.

Descubre como el patrón Adapter nos ayuda a resolver este problema.

¿SABES LA IMPORTANCIA DE LOS PATRONES DE


DISEÑO?
Los patrones de diseño son la clave para crecer profesionalmente
hacia la arquitectura de software, sin mencionar que los salarios son
los más altos de la industria de IT, descúbrelo en este video.
FACADE
PATRÓN ESTRUCTURAL
El patrón Facade (fachada) tiene la característica de ocultar la
complejidad de interactuar con un conjunto de subsistemas
proporcionando una interface de alto nivel, la cual se encarga de
realizar la comunicación con todos los subsistemas necesarios. La
fachada es una buena estrategia cuando requerimos interactuar con
varios subsistemas para realizar una operación concreta ya que se
necesita tener el conocimiento técnico y funcional para saber qué
operaciones de cada subsistema tenemos que ejecutar y en qué
orden, lo que puede resultar muy complicado cuando los sistemas
empiezan a crecer demasiado.

Estrucura del patrón Facade.


En la imagen podemos apreciar los componentes que integran el
patrón Facade, los cuales se explican a continuación:
 IFacade: Proporciona una interface de alto nivel que oculta la
complejidad de interactuar con varios sistemas para realizar
una operación.
 Client: Sistema o evento que interactúa con la fachada.
 DefaultFacadeImpl: Representa la implementación de IFacade
y se encarga de comunicarse con todos los subsistemas.
 Subsystems: Representa módulos o subsistemas que
exponen interfaces para comunicarse con ellos.

Diagrama de secuencia del patrón Facade.

1. El cliente invoca una operación de la fachada.


2. La fachada se comunica con el SubsystemA para realiar una
operación.
3. La fachada se comunica con el SubsystemB para realiar una
operación.
4. La fachada se comunica con el SubsystemC para realiar una
operación.
5. La fachada responde al cliente con el resultado de la operación.
EJEMPLO DEL MUNDO REAL
Mediante la implementación del patrón de
diseño Facade implementaremos un sistema que permite realizar
pagos en línea, para lo cual será necesario interactuar con varios
sistemas, dichos sistemas conllevan una cierta complejidad, por lo
que interactuar con todos los subsistemas puede ser muy
complicado, sobre todo para los programadores que no tienen
contexto del funcionamiento de los subsistemas. Por lo cual se
implementará una fachada que permita exponer operaciones de alto
nivel, las cuales se encarguen de interactuar con los |subsistemas y
abstrae a los programadores de la complejidad de interactuar con
dichos sistemas.

Descubre como el patrón Facade nos ayuda a resolver este problema.

¿SABES LA IMPORTANCIA DE LOS PATRONES DE


DISEÑO?
Los patrones de diseño son la clave para crecer profesionalmente
hacia la arquitectura de software, sin mencionar que los salarios son
los más altos de la industria de IT, descúbrelo en este video.

Вам также может понравиться