programación

Páginas: 12 (2955 palabras) Publicado: 25 de abril de 2013
Construcción de Software

Capítulo 3
Patrones de diseño

Contenidos
1.
2.
3.

Concepto de patrón
Clasificación de patrones
Estudio de algunos de los principales patrones GoF








Adaptador
Factoría
Singleton
Estrategia
Composite
Fachada
Observador

2

Bibliografía
• [Larman 02] Larman, C. “UML y Patrones: Una
introducción al análisis y diseño orientadoa
objetos y al proceso unificado”, Segunda Edición,
Prentice-Hall, 2002. Capítulo 23.
• [Larman 05] Larman, C. “Applying UML and
Patterns. An Introduction to Object-Oriented
Analysis and Design and Iterative Development”,
3rd edition, Prentice-Hall, 2005. Capítulo 26.
• [Gamma et al. 02] Gamma E., et al., Patrones de
Diseño, Addison-Wesley, 2002.
3

Arquitectura software y patrones“Una arquitectura orientada a objetos bien
estructurada está llena de patrones. La calidad de un
sistema orientado a objetos se mide por la atención
que los diseñadores han prestado a las colaboraciones
entre sus objetos.”
“Los patrones conducen a arquitecturas más
pequeñas, más simples y más comprensibles”
G. Booch
4

Diseño orientado a objetos
• “Diseñar software orientado a objetos esdifícil pero
diseñar software orientado a objetos reutilizable es
más difícil todavía. Diseños generales y flexibles son
muy difíciles de encontrar la primera vez”
• ¿Qué conoce un programador experto que desconoce
uno inexperto?
Reutilizar soluciones que funcionaron en el pasado:
EXPERIENCIA
5

Patrones
• Describen un problema recurrente y una solución.
• Cada patrón nombra, explica,evalúa un diseño
recurrente en sistemas OO.
• Elementos principales:
– Nombre
– Problema
– Solución: Descripción abstracta
– Consecuencias
6

Granularidad
• Patrones de Código
– Nivel de lenguaje de programación

• Frameworks
– Diseños específicos de un dominio de aplicaciones.

• Patrones de Diseño
– Descripciones de clases cuyas instancias colaboran entre sí
que deben seradaptados para resolver problemas de diseño
generales en un contexto particular.
– Un patrón de diseño identifica: Clases, Instancias, Roles,
Colaboraciones y la Distribución de responsabilidades.
7

Patrones y frameworks
• Un framework es una colección organizada de
clases que constituyen un diseño reutilizable para un
dominio específico de software.
• Necesario adaptarlo a una aplicaciónparticular.
• Establece la arquitectura de la aplicación
• Diferencias:
– Patrones son más abstractos que los frameworks
– Patrones son elementos arquitecturales más pequeños
– Patrones son menos especializados
8

Modelo-Vista-Control
(MVC paradigm o MVC framework)
• Utilizado para construir interfaces de usuario en
Smalltalk-80.
• Basado en tres tipos de objetos:
– Modelo: objetosdel dominio
– Vista: objetos presentación en pantalla (interfaz de usuario)
– Controlador: define la forma en que la interfaz reacciona a
la entrada del usuario.

• Desacopla el modelo de las vistas.

9

90
80

2tr

70
60

Vistas

4tr
Este
Oeste
Norte

50
40
30

1tr
3tr

20
10
0
1er trim. 2do trim. 3er trim. 4to trim.

Modelo
t1=20
t2=25
t3=90
t4=20

EsteOeste
Norte

1tr.
20
30
47

2tr.
25
38
47

3tr. 4tr.
90 20
32
32
45
45

Modelo-Vista-Control

• Utiliza los siguientes patrones:
– Observer
– Composite
– Strategy
– Decorator
– Factory method

11

Plantilla de definición
• Nombre del patrón
• Propósito
− ¿Qué hace? ¿Cuál es su razón y propósito? ¿Qué
cuestión de diseño particular o problema aborda?

•Sinónimos
• Motivación
− Escenario que ilustra un problema particular y cómo el
patrón lo resuelve.

12

Plantilla de definición
• Aplicabilidad
− ¿En qué situaciones puede aplicarse? ¿Cómo las
reconoces? Ejemplos de diseños que pueden mejorarse

• Estructura
− Diagramas de clases que ilustran la estructura

• Participantes
− Clases que participan y sus responsabilidades

•...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS