La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

3.- Introducción a Patrones de Diseño

Presentaciones similares


Presentación del tema: "3.- Introducción a Patrones de Diseño"— Transcripción de la presentación:

1 3.- Introducción a Patrones de Diseño
Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA

2 Índice Qué es un patrón de diseño Tipos de patrones Creacionales
Estructurales De Comportamiento

3 Introducción Las estructuras pueden ser diferentes, pero resolver un mismo problema Christopher Alexander: un patrón es una solución a un problema en un contexto. Describe un tipo de problema que ocurre recurrentemente, para después describir una solución genérica para que pueda utilizarse en cualquier “instancia” de ese problema.

4 The Gang of Four El libro “Design Patterns. Elements of Reusable Object-Oriented Software” de Gamma, Helm, Johnson and Vlissides ha sido el de mayor influencia en el mundo de los patrones. Aplicó la idea de Patrones al Software, Describió una estructura de catalogación, Catalogó 23 patrones, Postuló estrategias orientadas a objetos de utilización de estos patrones. No es el único: POSA (Pattern-Oriented Software Architecture), vol. 1 y 2. UML y Patrones. C. Larman ...

5 Uso Para qué sirven los patrones: Reutilización de soluciones
Establecimiento de una terminología común ¡Al principio es una locura! Ayuda al trabajo en equipo Perspectiva a alto nivel de los problemas y de sus soluciones No nos metemos en detalles demasiado pronto Establecimiento de metodología común Diseño a partir de interfaces Dar más importancia a la composición sobre la herencia Favorecer la encapsulación de comportamientos

6 Tipos de Patrones (I) Patterns are Everywhere!

7 Tipos de Patrones (y II)
GoF los divide en tres tipos: Creacionales (creational) Patrones que se refieren al proceso de creación de objetos Estructurales (structural) Patrones que tratan con la composición de clases u objetos De Comportamiento (behavioural) Caracterización de las maneras en que las clases/objetos interactúan entre sí y se distribuyen las responsabilidades.

8 Estructura de los Patrones (I)
Design Pattern’s Name Jurisdiction Characterization Intent Also Known As Motivation Applicability Structure Participants Collaborations Consequences Implementation Sample Code Known Uses Related Patterns Observer

9 Estructura de los Patrones (II)
Nombre del patrón Clasificación Intención: párrafo que responde a: ¿qué hace el patrón de diseño? ¿cuál es su intención? ¿qué tema o problema de diseño trata? Alias (also known as) Otros nombres para el patrón, si existen. Motivación Un escenario que ilustre el problema y cómo el patrón lo resuelve.

10 Estructura de los Patrones (III)
Aplicabilidad Situaciones donde el patrón es aplicable Forma de reconocer estas situaciones Estructura Representación gráfica de las clases que forman el patrón. Generalmente en UML. Participantes Clases, objetos, y sus responsabilidades Colaboraciones Cómo colaboran los participantes

11 Estructura de los Patrones (y IV)
Consecuencias Cómo cumple el patrón sus objetivos Qué aspecto de la estructura del sistema se puede variar independientemente Qué posibles problemas o compromisos tiene el patrón Implementación Trucos, problemas, técnicas, … a utilizar cuando se implementa el patrón Código de ejemplo Usos conocidos Ejemplos en sistemas reales. Patrones relacionados

12 Estructura del curso Estudiaremos algunos de los patrones del GOF:
Introducción teórica Diseño de la solución Ejemplos prácticos: diseño e implementación (Java / C#) Otros serán de estudio independiente. Se espera el mismo nivel de maestría que con los explicados en clase. Ejemplo aglutinador. La descripción del problema se encontrará en la web una semana antes: obligatorio haberlo leído antes de llegar a clase.

13 Bibliografía Design Patterns. Elements of reusable object-oriented software. Gamma et al. Ed. Addison-Wesley The Unified Software Development Process. I. Jacobson, G. Booch, J. Rumbaugh. Ed. Addison-Wesley. ISBN: CSCE966: Software Architectures & Frameworks - Department of Computer Science & Engineering - Universidad de Nebraska Curso de Netobjectives.com


Descargar ppt "3.- Introducción a Patrones de Diseño"

Presentaciones similares


Anuncios Google