La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Adapter, Bridge, Decorator.

Presentaciones similares


Presentación del tema: "Adapter, Bridge, Decorator."— Transcripción de la presentación:

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

2 Adapter 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.

3 Ejemplo:

4 APLICACIÓN: 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).

5 Estructura - class adapter

6 Estructura - object adapter

7 Participantes 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.

8 brige 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.

9 Se usa el patrón Bridge cuando:
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.

10 Estructura:

11 Participantes: 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.

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

13 Decorator 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.

14 Estructura:

15 APlicabilidad 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.


Descargar ppt "Adapter, Bridge, Decorator."

Presentaciones similares


Anuncios Google