1 / 16

PATRONES

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. Contenido. Introducción ¿Qué es un patrón? Desarrollo histórico Tipos de patrones Patrones de diseño (Gamma)

conor
Télécharger la présentation

PATRONES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  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

  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

  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

  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

  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

  7. Desarrollo histórico • 1964 - 1979: 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”

  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”

  9. Tipos de patrones • De arquitectura • De Diseño • De Análisis • De procesos y organizacionales • De negocios • Idioms • Para ambientes distribuidos

  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

  11. 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 Clasificación de Gamma

  12. Ejemplo de patrón de diseño • Estructura del patrón intermediario siguiendo la notación OMT

  13. Ejemplo de patrón de diseño

  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

  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

  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

More Related