Patrones de diseño

Páginas: 9 (2206 palabras) Publicado: 30 de mayo de 2010
Adapter

Convierte la interfaz de una clase en otra interfaz de clientes esperan. Adaptador de clases permite trabajar en conjunto que podría no otra cosa, debido a la incompatibilidad de interfaces.
Motivación
A veces una clase de conjunto de herramientas que está diseñado para su reutilización no es reutilizable sólo porque su interfaz no coincide con la interfaz específica del dominio unaaplicación requiere.

Aplicabilidad

Utilice el patrón de adaptador cuando:
•Desea utilizar una clase existente, y su interfaz no coincide con el que uno que necesita.
•Desea crear una clase reutilizable que coopera con o sin relación clases de imprevistos, es decir, clases que no tienen necesariamente interfaces compatibles.
• Es necesario utilizar varias subclases ya existentes, pero esmuy difícil de adaptar su interfaz por medio de subclases cada una. Un objeto adaptador puede adaptar la interfaz de su clase padre.

Consecuencias

Clase y adaptadores de objetos tienen diferentes ventajas y desventajas.

• Adapter adapta a Target, comprometiéndose a una clase concreta de adaptador. Como una consecuencia, un adaptador de clase no funcionará cuando queremos adaptar unaclase y todas sus subclases.
• Adapter permite anular algunas de comportamiento Adapter, ya que es un adaptador subclase de adaptado.
• Introduce sólo un objeto, y no indirecto puntero se necesita más financiación para llegar al adaptado.

Un Adapter de objetos:
• Permite que un único adaptador de trabajo con muchos Adapter, es decir, la propia Adapter y todas sus subclases (si existe).El adaptador también puede agregar la funcionalidad a todos los Adapter a la vez.
• Hace más difícil anular el comportamiento adaptado. Será necesario crear subclases Adapter y la toma de adaptador se refieren a la subclase más que el adaptado sí mismo.

Bridge
Intención
Desacopla la abstracción de su implementación permitiendo que las dos varíen independientemente.
Motivo
Cuando unaabstracción puede tener varias implementaciones posibles el camino habitual para acomodarlas es usar herencia. Una clase abstracta define la interfaz y clases concretas la implementa de diferentes formas. El problema es que esta solución no es lo suficientemente flexible. La herencia ata una implementación a la abstracción permanentemente, lo que hace la hace difícil de modificar, extender yrehusar la implementación y la abstracción independientemente. La respuesta a esta flexibilidad esta en utilizar el patrón de diseño bridge.

Aplicabilidad
Bridge debe ser usado cuando:
• Quiere evitar un enlace permanente entre la abstracción y su implementación.
• Tanto la abstracción como su implementación deben ser extensibles por subclases. El patrón de diseño bridge deja combinar laimplementación y su abstracción y permite extenderlas independientemente.
• Cambios en la implementación de una abstracción no deben tener impacto sobre el cliente.
• La herencia puede generar una explosión de clases cuando queremos dividir un objeto; bridge evita dicha explosión.
• Se quiere partir la implementación de una abstracción en múltiples objetos, que deben estar ocultas al cliente.Estructura
• Abstraction: Define la interfaz de la abstracción. Mantiene una referencia a un objeto del tipo implementor.
• Refined Abstraction: Extiende la interfaz definida por Abstracción.
• Implementor: Define una interfaz para la implementación de clases; ésta interfaz no tiene una correspondencia directa a la interfaz de la abstracción, de hecho pueden ser muy diferentes. Por lo generalimplementor define operaciones primitivas, mientras que abstracción define operaciones de más alto nivel basadas en las de implementor.
• ConcrteImplementor: implementa la interfaz implementor definiendo una implementación concreta.
Consecuencias
Las siguientes son consecuencias del uso del patrón Bridge:
• Desacopla la abstracción de su implementación. La abstracción no está permanentemente...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Patrones De Diseño
  • Patrones de Diseño
  • patrones de diseño
  • Patrones De Diseño
  • patron de diseño
  • Patrones de Diseño
  • Patrones de Diseño
  • Patrones De Diseño

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS