18
Equipo Ajax IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE DISEÑO Universidad de Oriente Núcleo Monagas Escuela de Ingeniería y Ciencias Aplicadas Áreas de Grado: CsC Profesor: Ing. Jonathan Vásquez Maturín, Abril 2015 Peñalver Juan Rodríguez Brimar

Implementación y adaptación de patrones de diseño

  • Upload
    ju-pe

  • View
    144

  • Download
    0

Embed Size (px)

Citation preview

Equipo Ajax

IMPLEMENTACIÓN Y ADAPTACIÓN DE

PATRONES DE DISEÑO

Universidad de OrienteNúcleo Monagas

Escuela de Ingeniería y Ciencias AplicadasÁreas de Grado: CsC

Profesor:Ing. Jonathan Vásquez

Maturín, Abril 2015

Peñalver JuanRodríguez Brimar

CONTENIDO

INTRODUCCIÓN.

DEFINICIÓN PATRONES.

OBJETIVOS DE LOS PATRONES.

VENTAJAS DE LOS PATRONES DE DISEÑO.

CLASIFICACIÓN DE LOS PATRONES.

TIPOS DE PATRONES DE DISEÑO.

CONCLUSIONES

REFERENCIAS BIBLIOGRÁFICAS.

DEFINICIÓN DE PATRONES.

Los patrón son aquellos que describe un problema que ocurre una y otra vez en nuestro entorno, y describe la esencia de la solución

a ese problema, de tal modo que pueda utilizarse esta solución un millón de veces más, sin siquiera hacerlo de la misma manera dos

veces. Christopher Alexander (1977)

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

OBJETIVO DE LOS PATRONES.

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Reducción de tiempos

Disminución del esfuerzo de

mantenimiento

Aumentar la eficiencia

Asegurar la consistencia

Aumentar la fiabilidad

Proteger la inversión en desarrollos

VENTAJAS DE LOS PATRONES DE DISEÑO.

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Capturan la experiencia y la hacen accesible a los no expertos. El conjunto de sus nombres

forma un vocabulario que ayuda a que los desarrolladores se comuniquen mejor

Ayudan a la gente a comprender un sistema más rápidamente cuando está documentado con los patrones que usa.

Los patrones pueden ser la base de un manual de ingeniería de software. Facilitan la reestructuración

de un sistema tanto si fue o no concebido con patrones en mente.Reutilización.

El software cambia.

CLASIFICACIÓN DE LOS PATRONES.

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Patrones Arquitecturales

Patrones de Diseño

Patrones Elementales (idioms)

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Patrones a tartar:

Facade.Singleton.Mediator.

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

FACADE

Es un patrón fundamental de diseño que provee una interfaz única para un conjunto de interfaces dentro de un subsistema. Define una interfaz de nivel superior que hace que el uso del subsistema sea mas fácil.

FACADE-Motivación

• La estructuración del sistema en subsistemas ayuda a reducir la complejidad.

• La interfaz de las clases o de un grupo de clases puede ser compleja.

FACADE-Beneficios

• Esconde la implementación de los subsistemas de los clientes.

• Promueve un acoplamiento débil entre el subsistema y sus clientes.

• Simplifica la portabilidad de los subsistemas hacia otras plataformas.

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Facade - Estructura

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Facade - Estructura

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Singleton

Singleton es un tipo de patrón creacional que asegura que una clase tiene una única instancia y provee un medio de acceso global a dicha instancia.

Singleton - Aplicabilidad

El patrón Singleton se utiliza cuando:

• Debe haber exactamente una instancia de una clase y ésta debe ser accesible para los clientes desde un punto de acceso conocido.

• La única instancia deba ser extensible a través de una subclase y los clientes puedan usar una instancia que extienda a la única sin modificar su código.

Singleton - Beneficios

• Acceso controlado a la instancia única

• Es una mejora a las variables globales

• Permite un número variable de instancias

Singleton - Implementación

• Asegurar una única instancia.

• Posibles subclases de la clase Singleton.

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Singleton - Estructura

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Mediator

Define a un objeto que encapsula cómo interactúan un conjunto de objetos.

Promueve bajo acoplamiento, evitando que los objetos se comuniquen entre sí explícitamente, y permite variar la interacción entre ellos de forma independiente.

Mediator - Motivación

Problema:

• Cuando muchos objetos interactúan con otros objetos, se forma una estructura compleja, con muchas conexiones entre ellos.

• Diálogos diferentes (fuentes, imprimir) tienen dependencias diferentes entre sus elementos.

• Aunque se utilicen los mismos elementos, no se pueden reutilizar las clases.

• Es engorroso adaptar las clases mediante herencia.

Reusabilidad:

• Particionar un sistema en muchos objetos la facilita, pero la proliferación de interconexiones entre ellos la reduce.

• Gran cantidad de interconexiones hace difícil que un objeto pueda trabajar sin la ayuda de otros.

• El sistema al estar distribuido entre muchos objetos puede resultar difícil cambiar su comportamiento de forma significativa.

Solución:

• Encapsular el comportamiento colectivo en un solo objeto (mediador).

• Coordinar y controlar las interacciones entre los objetos.

• Evitar a los objetos se comuniquen directamente con los otros objetos.

• Los objetos conocerán únicamente al mediador, de esta forma se reduce el número de interconexiones.

Mediator - Aplicabilidad

• Cuando un conjunto grande de objetos se comunica de una forma bien definida, pero compleja.

• En la reutilización de objetos. Existe dificultad al hacer referencia a varios objetos para mantener comunicación.

• Cuando el comportamiento de muchos objetos está distribuido entre muchas clases, adaptándolo sin mucha herencia.

Mediator - Participantes

• Mediador: define la interfaz para comunicarse con los otros objetos.

• Mediador concreto: Implementa el comportamiento cooperativo entre los Objetos. Conoce a los Objetos y los mantiene.

• Colegas: Cada colega (objeto) conoce su mediador, y usa a este para comunicarse con otros objetos.

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Mediator - Consecuencias

Ventajas:

• Reduce la herencia.

• Desacopla a los objetos.

• Simplifica la comunicación entre objetos.

• Abstrae como los objetos cooperan

Desventajas:

• Centraliza el control: • Cambia la complejidad en las interacciones

entre objetos por complejidad en el objeto mediador.• Puede ser muy complejo, difícil de entender y

modificar.

Mediator - Implementación

Omitir la clase abstracta Mediator:

• No es necesario crear una clase abstracta Mediador cuando las clases colega sólo trabajan con un mediador.

• El acoplamiento abstracto de dicha clase permite que los objetos trabajen con diferentes Mediador y viceversa.

Comunicación Objeto y Mediador:

• Los objetos se comunican a su mediador cuando tiene lugar un evento.

• Las clases de objetos cada vez que cambian su estado envían notificaciones al mediador.

• El mediador responde propagando los efectos de dichos eventos a los otros objetos.

Mediator – Patrones relacionados

• Si se abstrae un subsistema de objetos con protocolo unidireccional se usa Facade, provee una interfaz mas conveniente, ya que el Mediator usa un protocolo mutidireccional.

• Los colegas pueden comunicarse con el mediador mediante Observer.

TIPOS DE PATRONES DE DISEÑO

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

Mediator - Estructura

Los patrones de mediator define al objeto y evalúan cómo interactúan un conjunto de objetos.

CONCLUSIONES

Los patrones de facade provee una interfaz única para un conjunto de interfaces dentro de un subsistema.

Los patrones de diseños resuelven problemas que le ocurren por experiencias pasadas.

Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

REFERENCIAS BIBLIOGRÁFICAS

Cáceres T., Jesús. Patrones de diseño: ejemplo de aplicación en los Generative Learning Object. Artículo en Linea. Consultado el 13 de abril de 2015. Disponible en: http://www.um.es/ead/red/M10/caceres.pdf

Mestras, J. P. (2004). Universidad Complutense Madrid. Recuperado el 12 de Abril de 2015, de Universidad Complutense Madrid: http://www.fdi.ucm.es/profesor/jpavon/poo/2.14pdoo.pdf.

González M., Madrid J., Torrealba A. Patrones de Diseño. S/F. Consultado el 13 de Abril de 2015.

Guerra S. E. Patrón Estructural Adapter (2009). Técnicas de Programación - Curso 2008/09. Artículo en línea. Consultado el 12 de abril de 2015. Disponible en: http://arantxa.ii.uam.es/~eguerra/docencia/0809/03%20Adapter.pdf

IMPLEMENTACIÓN Y ADAPTACIÓN DE PATRONES DE

DISEÑO

¡Graciaspor su

atención!