adapter, bridge, decorator.. el patrón adapter convierte la interfaz de una clase en la interfaz...

15
PATRONES DE DISEÑO PATRONES DE DISEÑO Adapter, Bridge, Decorator.

Upload: emigdio-durazo

Post on 05-Jan-2015

12 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

PATRONES DE DISEÑOPATRONES DE DISEÑOAdapter, Bridge, Decorator.

Page 2: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera.

El adapter permite que clases con interfaces incompatibles puedan trabajar juntas.

Este patrón se denomina también wrapper.

Page 3: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases
Page 4: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

Se desea utilizar un clase ya existente pero cuya interfaz no coincide con la que se necesita.

Se desea crear una clase que colabora con otras clases que no tienen interfaces compatibles.

Se desea adaptar varias subclases ya existentes adaptando la interfaz de su clase padre común (object adapter).

Page 5: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases
Page 6: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases
Page 7: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

Target: Define la interfaz especifica del dominio en el que se quiere hacer uso de la clase que se adapta.

Client: Utiliza objetos que implementan la interfaz definida por el target.

Adaptee: Presenta su interfaz original, que es la que se tiene que adaptar.

Adapter: Adapta la interfaz del objeto adaptado a la definida por el target.

Page 8: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

El patrón Bridge, también conocido como Handle/Body, es una técnica usada en programación para desacoplar una abstracción de su implementación, de manera que ambas puedan ser modificadas independientemente sin necesidad de alterar por ello la otra.

Esto es, se desacopla una abstracción de su implementación para que puedan variar independientemente.

Page 9: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

Se desea evitar un enlace permanente entre la abstracción y su implementación. Esto puede ser debido a que la implementación debe ser seleccionada o cambiada en tiempo de ejecución.

Se desea compartir una implementación entre múltiples objetos (quizá usando contadores), y este hecho debe ser escondido a los clientes.

Page 10: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases
Page 11: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

Abstraction : define una interface abstracta. Mantiene una referencia a un objeto de tipo Implementor.

RefinedAbstraction :extiende la interface definida por Abstraction

Implementor : define la interface para la implementación de clases. Esta interface no se tiene que corresponder exactamente con la interface de Abstraction; de hecho, las dos interfaces pueden ser bastante diferente.

ConcreteImplementor : implementa la interface de Implementor y define su implementación concreta.

Page 12: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

Abstraction: emite los pedidos de los clientes a su objeto Implementor.

Page 13: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

El patrón Decorator responde a la necesidad de añadir dinámicamente funcionalidad a un Objeto. Esto nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera.

Page 14: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases
Page 15: Adapter, Bridge, Decorator.. El patrón adapter convierte la interfaz de una clase en la interfaz que el cliente espera. El adapter permite que clases

Añadir objetos individuales de forma dinámica y transparente.

Responsabilidades de un objeto pueden ser retiradas .

Cuando la extensión mediante la herencia no es viable

Hay una necesidad de extender la funcionalidad de una clase, pero no hay razones para extenderlo a través de la herencia.

Hay la necesidad de extender dinámicamente la funcionalidad de un objeto y quizás quitar la funcionalidad extendida.