Patrones de diseño
Introducción Proxy pattern Mediator pattern Abstract Factory pattern
Ingeniería del Software II
Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
Prof. José Merseguer
1
Introducción
Objetivo
Conseguir diseños reusables
Consecuencias
ahorro de tiempo, toma de decisiones de diseño automática, ...
¿Pero realmente se reutiliza la experiencia de diseño o se reinventan las soluciones?
Ingeniería del Software II
Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
2
Patrones de diseño
Objetivo
Guardar experiencias de diseño OO Nombrar, evaluar y explicar diseños importantes que se repiten en los sistemas OO Ayudar a escoger alternativas de diseño(las que hacen los sistemas reusables y evitar las que no) Mejorar la documentación y el mantenimiento (facilitan la especificación de las clases y las interacciones entre objetos)
Conclusión
Los patrones de diseño ayudan a diseñar más rápido
3
Ingeniería del Software II
Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
¿Qué es un patrón dediseño?
“ Un patrón describe un problema que ocurre una y otra vez en nuestro entorno y describe el núcleo de la solución al problema, de forma que puedes utilizar esta solución millones de veces” [C. Alexander] “ Descripciones de clases y objetos que se comunican y que son adaptadas para resolver un problema de diseño general en un contexto particular”
4
Ingeniería del SoftwareII
Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
¿Cómo se describe un patrón de diseño?
Nombre y Clasificación Propósito Otros nombres Motivación
Ejemplo real y cómo las clases y objetos del patrón lo resuelven. Cómo identificar situaciones donde utilizarlo.
5
Aplicaciones
Ingeniería del Software II
Departamento de Informática eIngeniería de Sistemas (Univ. Zaragoza)
…
¿Cómo se describe un patrón de diseño?
Estructura
Diagrama de clases y traza de eventos (OMT aumentado).
Participantes
Lista de clases y objetos que participan con sus responsabilidades.
Colaboraciones
Cómo colaboran los objetos para llevar a cabo sus responsabilidades.
6
Ingeniería del Software IIDepartamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
…
¿Cómo se describe un patrón de diseño?
Consecuencias
Ventajas y desventajas al usar el patrón Técnicas y trucos a tener en cuenta cuando se implementa el patrón (C++, Smalltalk) Fragmentos de código en C++ y Smalltalk
Implementación
Código de ejemplo
Usos conocidos Patronesrelacionados
7
Ingeniería del Software II
Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
Catálogo
Todos ellos son patrones ya probados y utilizados en diferentes sistemas. Forman parte del “fo lclore” de la comunidad OO. No pertenecen a ningún dominio específico, resuelven problemas de diseño genéricos (iterator, observer).
Ingeniería del SoftwareII
Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
8
Clasificación
Propósito
¿Qué hace el patrón?
Creación, Estructurales, Comportamiento.
Ambito
¿A quién se aplica el patrón?
Clase, Objeto
Ingeniería del Software II
Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
9
BibliografíaRecomendada
Design Patterns: Elements of Reusable ObjectOriented Software
Gamma E., Helm R., Johnson R., Vlissides J. Addison-Wesley, 1995 ISBN: 0-201-63361-2
Ingeniería del Software II
Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza)
10
Patrón: Proxy
Propósito
• • • Proporcionar un sustituto a otro objeto para controlarlo. Sustituto (surrogate) Razón...
Regístrate para leer el documento completo.