Patron bridge

Solo disponible en BuenasTareas
  • Páginas : 3 (749 palabras )
  • Descarga(s) : 9
  • Publicado : 5 de julio de 2010
Leer documento completo
Vista previa del texto
Patron Estructural: Bridge
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 puedanser 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.
Aplicabilidad
Seusa 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 entiempo de ejecución.
* Tanto las abstracciones como sus implementaciones deben ser extensibles por medio de subclases. En este caso, el patrón Bridge permite combinar abstracciones e implementacionesdiferentes y extenderlas independientemente.
* Cambios en la implementación de una abstracción no deben impactar en los clientes, es decir, su código no debe tener que ser recompilado.
*(En C++) Se desea esconder la implementación de una abstracción completamente a los clientes. En C++, la representación de una clase es visible en la interface de la clase.
* Se desea compartir unaimplementación entre múltiples objetos (quizá usando contadores), y este hecho debe ser escondido a los clientes.
Estructura

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. Típicamente la interface Implementor provee sólooperaciones primitivas, y Abstraction define operaciones de alto nivel basadas en estas primitivas.
* ConcreteImplementor implementa la interface de Implementor y define su implementación concreta....
tracking img