Patrones de diseño
Introducción
Fchavez
Desing Pattern
De nición
Soluciones documentadas a problemas conocidos
fi
Desing Patterns
Clasi cación
• Creación (Creational Patterns)
• Estructurales (Structural Patterns)
• De comportamiento (Behavioral Patterns)
fi
Desing Patterns
Clasi cación
• Creación (Creational Patterns)
Patrones que controlan la creación de objetos
• Estructurales (Structural Patterns)
• De comportamiento (Behavioral Patterns)
fi
Desing Patterns
Clasi cación
• Creación (Creational Patterns)
• Estructurales (Structural Patterns)
Lidian con la forma en que las clases y objetos se orginizan para formar
estructuras más complejas.
• De comportamiento (Behavioral Patterns)
fi
Desing Patterns
Clasi cación
• Creación (Creational Patterns)
• Estructurales (Structural Patterns)
• De comportamiento (Behavioral Patterns)
Establecen la forma en que los objetos interactuán y distribuyen las
responsabilidades.
fi
Desing Pattern
Partes
La de nición de un patrón de diseño consta de las siguientes partes:
• Nombre
• Clasi cación
• Objetivo
• Contexto
• Solución
• Consecuencias
fi
fi
Desing Pattern
Partes
Nombre
Para poder ser identi cado el patrón tiene un nombre que pretende describir lo
que el patrón hace.
fi
Desing Pattern
Partes
Clasi cación
Tipo al que pertenece el patrón
fi
Desing Pattern
Partes
Objetivo
Describe el problema que el patrón resuelve y explica el objetivo general del patrón
Desing Pattern
Partes
Contexto
Describe la situación en la que se aplica el patrón y de ne las condiciones
previas y las restricciones.
fi
Desing Pattern
Partes
Solución
Describe la estructura de la solución, incluyendo las clases y objetos
involucrados, sus relaciones y responsabilidades.
Nota: Se documenta utilizando diagramas de clases o de secuencia para
ilustrar la estructura.
Desing Pattern
Partes
Consecuencias
Analiza las ventajas, desventajas (trade-o s) y las consecuencias de aplicar
el patrón.
ff
Desing Patterns
Ejemplos
Creación Estructurales Comportamiento
Factory Method Adapter Observer
Abstract Factory Bridge Strategy
Singleton Composite Template Method
Builder Decorator Iterator
Prototype Facade Command
Proxy Chain of responsibility
Interpreter
Mediator
Memento
Desing Patterns
Ventajas de utilizarlos
• Incrementan la reutilización de código
Al utilizar patrones establecidos, no tenemos que reinventar la rueda; mejor
aprovechamos soluciones probadas
• Incrementamos la exibilidad y la mantenibilidad
Los sistemas bien diseñados que utilizan patrones de diseño son más fáciles
de modi car y/o extender.
• Mejoran la comunicación
Los patrons de diseño proveen un vocabulario común dentro del equipo, por
lo que se facilita la comunicación y discusión de las decisiones de diseño.
fi
fl