La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Eva Lleonart Martín Asunción García-Menacho Rovira

Presentaciones similares


Presentación del tema: "Eva Lleonart Martín Asunción García-Menacho Rovira"— Transcripción de la presentación:

1 Eva Lleonart Martín Asunción García-Menacho Rovira
PATRONES Eva Lleonart Martín Asunción García-Menacho Rovira Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia 29/01/03

2 Contenido Introducción ¿Qué es un patrón? Desarrollo histórico
Tipos de patrones Patrones de diseño (Gamma) Ejemplo (patrón intermediario) Descripción de patrón 29/01/03

3 Introducción Es un tema importante en el desarrollo de software actual: permite capturar la experiencia El uso de patrones para el desarrollo de software establece la diferencia entre un buen y un mal diseño orientado a objetos 29/01/03

4 ¿Qué es un patrón? Solución probada que se puede aplicar con éxito en un determinado tipo de problemas que aparecen repetidamente en el desarrollo del sistema software No son librerías Se describen fundamentalmente en forma textual, acompañada de diagrama y de pseudo-código 29/01/03

5 ¿Qué es un patrón? Algunas definiciones
“Un patrón es un pedazo de información con nombre, instructivo y significante, que captura la esencia de una familia exitosa y completa de soluciones a un problema recurrente en un contexto dado” Brad Appleton “Cada patrón es una regla de tres partes, la cual expresa una relación entre un contexto dado, un conjunto de fuerzas que ocurren repetitivamente en ese contexto y cierta configuración de software que permite a esas fuerzas resolverse por si mismas” Richard Gabriel 29/01/03

6 ¿Qué es un patrón? “Estos patrones en nuestras mentes son, más o menos, imágenes mentales de los patrones en el mundo: son representaciones abstractas de las reglas morfológicas que definen los patrones en el mundo. Sin embargo, son realmente diferentes. Los patrones en el mundo solo existen. Pero esos mismos patrones en nuestras mentes son dinámicos. tienen fuerza. Son generativos. Nos dicen qué hacer, cómo se pueden generar y, en ciertas circunstancias, que los debemos crear. Cada patrón es una regla que describe que debemos hacer para generar la entidad que los define” Christopher Alexander , The Timeless Way of Building, 1.979 29/01/03

7 Desarrollo histórico : Christopher Alexander escribe varios libros acerca del planeamiento urbano y la construcción de edificios En particular, “A Pattern Language: Towns, Buildings, Construction”, en 1977 1987. Ward Cunningham y Kent Beck aplican las ideas de Christopher para desarrollar un pequeño lenguaje de patrones, para aprender Smalltalk: “Using Pattern Languages for Object-Oriented Programs” 29/01/03

8 Desarrollo histórico de 1990 a 1992 se inicia el trabajo entre los miembros del “Gang of Four” (GoF) 1991. Se publica el libro de Jim Coplien “Advanced C++ Programming Styles and Idioms”, basado en la recopilación de la experiencia del autor por varios años 1993 se publica el libro “Design Patterns, Elements of Reusable Object-Oriented Software” 29/01/03

9 Tipos de patrones De arquitectura De Diseño De Análisis
De procesos y organizacionales De negocios Idioms Para ambientes distribuidos 29/01/03

10 Patrones de diseño Características Son soluciones concretas
Son soluciones técnicas Se aplican en situaciones muy comunes Son soluciones simples Facilitan la reutilización de las clases y del propio diseño 29/01/03

11 Clasificación de Gamma
Creación Estructural De Conducta Clase Método de Fabricación Adaptador (clases) Interprete Plantilla Objeto Fábrica Adaptador (objetos) Cadena de Responsabilidad Constructor Puente Comando Prototipo Composición Iterador Singleton Decorador Intermediario Fachada Observador Flyweight Estado Apoderado Estrategia Visitante Memoria 29/01/03

12 Ejemplo de patrón de diseño
Estructura del patrón intermediario siguiendo la notación OMT 29/01/03

13 Ejemplo de patrón de diseño
29/01/03

14 Descripción de un patrón
Nombre: corto y descriptivo Problema: Descripción del problema que refuerza la intención del patrón Contexto: precondiciones necesarias para que el problema y su solución existan Fuerzas: son las variables importantes del problema, que determinan qué tan buena o mala es una solución 29/01/03

15 Descripción de un patrón
Solución: relaciones estáticas y reglas de funcionamiento que describen cómo llegar al resultado Ejemplos Contexto resultante: El estado o configuración del sistema después de aplicar el patrón 29/01/03

16 Descripción de un patrón
Racionalidad: Una explicación justificada de los pasos o reglas en el patrón y del patrón como un todo, de la forma en la cual resuelve las fuerzas en el problema acorde con sus metas, principios y filosofía Relaciones: Las relaciones estáticas y dinámicas de este patrón con otros. Usos Conocidos 29/01/03


Descargar ppt "Eva Lleonart Martín Asunción García-Menacho Rovira"

Presentaciones similares


Anuncios Google