Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Patrones de Diseño
Conocimientos previos
Conocimientos de POO.
UML (básico)
Java - C#
Introducción
• Diseñar software orientado a objetos es
difícil, y diseñar software orientado a objetos
reutilizable es todavía más difícil
• Los diseñadores expertos no resuelven los
problemas desde sus principios; reutilizan
soluciones que han funcionado en el pasado.
Patrones de diseño
Patrones de diseño
[Gamma]
Un patrón de diseño es una descripción de
clases y objetos comunicándose entre sí
adaptada para resolver un problema de
diseño general en un contexto particular.
Elementos de un patrón
• Nombre: describe el problema de diseño.
• El problema: describe cuándo aplicar el patrón.
• La solución: describe los elementos que
componen el diseño, sus relaciones,
responsabilidades y colaboración.
Clasificación de los patrones
• Según su propósito:
– De creación: conciernen al proceso de creación de
objetos.
– De estructura: tratan la composición de clases
y/o objetos.
– De comportamiento: caracterizan las formas en
las que interactúan y reparten responsabilidades las
distintas clases u objetos.
Clasificación de los patrones
• Según su alcance:
– Clases: tratan de relaciones entre clases y sus
subclases. Estas relaciones se establecen a través
de la relación de herencia, por consiguiente son
estáticas y definidas en tiempo de compilación .
– Objetos: tratan de relaciones entre objetos que
pueden ser cambiadas en tiempo de ejecución y
son más dinámicas.
Clasificación de los patrones
GoF (gang of Four) [Gamma]
Ámbito
Clase ❖Factory Method ❖Adapter Interpreter
Template Method
❖Facade ❖Observer
State
Flyweight ❖Strategy
Proxy Visitor
9
Como seleccionar un patrón de
diseño
Tipo de problema a resolver
Que tipos de problemas resuelve un patrón determinado
Buscar las intenciones de cada patrón
Estudiar cómo se interrelacionan los patrones
Estudiar patrones de propósito similar
Examinar la causa de un rediseño
Considerar qué debería ser variable en un diseño
Cómo usar un patrón de diseño
1. Leer el patrón una vez para tener una visión general
2. Volver y estudiar la estructura, los participantes y las
colaboraciones
3. Ver un ejemplo concreto codificado del patrón
4. Elegir nombres para los participantes del patrón que sean
significativos en el contexto de la aplicación
5. Definir las clases
6. Definir nombres específicos d e la aplicación para las
operaciones en el patrón
7. Implementar las operaciones que realizarán las
responsabilidades y colaboraciones del patrón
Conclusión
Los patrones de diseño describen soluciones simples y
elegantes a problemas específicos de diseño de software
orientado a objetos.
Los mismos representan soluciones que han sido
desarrolladas y han ido evolucionando a lo largo del
tiempo.
Más información en...