El patrón Bridge separa la abstracción de la implementación para que puedan variar independientemente. La estructura del patrón Bridge contiene una clase Abstraction que define la interfaz de la abstracción y mantiene una referencia a un objeto Implementor que implementa realmente la interfaz. El patrón permite identificar dimensiones ortogonales en las clases como abstracción/plataforma e implementar versiones independientes de cada una.
Los patrones de diseño dentro del área de la ingeniería de software son diseñados con el objetivo de solventar un problema en específico, pero de forma general como para poder adecuarse a futuros requisitos y problemas.
Estudio del estado del arte sobre las tecnologías disponibles en .NET (versión 1.1) capaces de soportar un enfoque de desarrollo orientado a aspectos.
//
Study of the state of the art about the technologies available for the .NET platform capable of supporting an aspect-oriented development approach (in Spanish)
Symfony-Community: Introducción a Symfony Frameworkexcedesoft
El seminario está dirigido a aquellos estudiantes, profesionales, universidades y empresas dedicados a la industria de software que deseen aprender sobre la iniciación de una aplicación Symfony. Se demostrá como descargar e instalar el framework, configuración inicial y conceptos necesarios para el desarrollo de una aplicación web simple.
Los patrones de diseño dentro del área de la ingeniería de software son diseñados con el objetivo de solventar un problema en específico, pero de forma general como para poder adecuarse a futuros requisitos y problemas.
Estudio del estado del arte sobre las tecnologías disponibles en .NET (versión 1.1) capaces de soportar un enfoque de desarrollo orientado a aspectos.
//
Study of the state of the art about the technologies available for the .NET platform capable of supporting an aspect-oriented development approach (in Spanish)
Symfony-Community: Introducción a Symfony Frameworkexcedesoft
El seminario está dirigido a aquellos estudiantes, profesionales, universidades y empresas dedicados a la industria de software que deseen aprender sobre la iniciación de una aplicación Symfony. Se demostrá como descargar e instalar el framework, configuración inicial y conceptos necesarios para el desarrollo de una aplicación web simple.
3. • Separa abstracción e implementación, así ambas pueden variar de forma
independiente. A diferencia del patrón Adapter, considera como las interfaces son
implementadas, en este sentido asocia abstracción y sus potenciales
implementaciones. Suele aplicarse al empezar un diseño, para permitir que las
abstracciones e implementaciones evolucionen independientemente.
5. • La estructura de un Bridge se puede clasificar en dos partes: la parte abstracta y la
implementación de la interfaz por las diferentes clases del grupo de objetos.
6. • Los participantes:
• Abstraction:
• Define la abstracción de la interfaz, manteniedo una referencia a un objeto que
implementa la interfaz.
• RefinedAbstraction:
• Amplía la interfaz definida por la abstracción, de modo que captura las
especificaciones o información necesaria proveniente del objeto que implementa la
interfaz.
• Implementor:
• Define la interfaz de la aplicación clases. Esta interfaz no tiene que corresponder
exactamente a la interfaz de abstracción, de hecho las dos interfaces pueden ser
muy diferentes. Normalmente la interfaz Implementor proporciona sólo
operaciones primitivas, y define la abstracción de alto nivel sobre la base de estas
operaciones primitivas.
12. • Identifica las dimensiones ortogonales de tus clases. Estos conceptos independientes
pueden ser: abstracción/plataforma, dominio/infraestructura, front end/back end, o
interfaz/implementación.
• Comprueba qué operaciones necesita el cliente y defínelas en la clase base de abstracción.
• Determina las operaciones disponibles en todas las plataformas. Declara aquellas que
necesite la abstracción en la interfaz general de implementación.
• Crea clases concretas de implementación para todas las plataformas de tu dominio, pero
asegúrate de que todas sigan la interfaz de implementación.
• Dentro de la clase de abstracción añade un campo de referencia para el tipo de
implementación. La abstracción delega la mayor parte del trabajo al objeto de la
implementación referenciado en ese campo.
• Si tienes muchas variantes de lógica de alto nivel, crea abstracciones refinadas para cada
variante extendiendo la clase base de abstracción.
• El código cliente debe pasar un objeto de implementación al constructor de la abstracción
para asociar el uno con el otro. Después, el cliente puede ignorar la implementación y
trabajar solo con el objeto de la abstracción.