Introducción a los patrones de diseño
-
Upload
jesus-andres-hincapie -
Category
Documents
-
view
285 -
download
0
Transcript of Introducción a los patrones de diseño
Lenguajes y Modelos de Programación
Introducción a los patrones de diseño
Jesús Andrés Hincapié Londoño
Presentación del curso
Los objetivos de este curso son
• Explicar los principios de la Programación Orientada a Objetos.
• Identificar los elementos de un patrón de diseño.• Reconocer la necesidad de buenas soluciones.• Analizar problemas de diseño.• Construir soluciones que implementen patrones.
¿Qué es un patrón?
“Cada patrón describe un problema que ocurre infinidad de veces en nuestro entorno, así como la solución al mismo, de tal modo que podemos utilizar esta solución un millón de veces más adelante sin tener que volver a pensarla otra vez.”
Christopher Alexander - 1979
Imagen publicada en http://www.flickr.com/photos/eekim/5686194142/Por eekim
¿Qué es un patrón de diseño software?
Soluciones probadas
Buenas prácticas
Diseño de software
en en
Un patrón de diseño de software describe un problema recurrente que surge en contextos específicos de software, y presenta un esquema genérico probado para la solución de éste.
El cambio en el software
La única cosa que siempre va a estar presente en el desarrollo de software es
El CambioPara administrar el cambio en el software, se requieren sistemas
• Flexibles• Reutilizables• Extensibles
Atributos de calidad
Catálogos de patrones
Existen varios catálogos que recopilan patrones que se usan en diferentes etapas del desarrollo de software.
En este sentido, se pueden encontrar:
• Patrones de análisis• Patrones de diseño e implementación• Patrones de pruebas• Patrones arquitectónicos
Catálogos de patrones de diseño
Entre los catálogos de patrones de diseño, el más reconocido es el catálogo de patrones GOF (Gang of Four), el cual fue publicado en el libro Design Patterns en 1995 y es el principal referente en el tema de patrones.
Integrantes• Ralph Johnson• Erich Gamma• Richard Helm• John Vlissides
Imagen publicada en http://takeji-soft.seesaa.net/article/34433484.htmlPor autor desconocido
Patrones GOF
El catálogo GOF está dividido en tres categorías
Creación
Herencia
Composición
Factory Method Adapter InterpreterTemplate Method
Abstract FactoryBuilderPrototypeSingleton
AdapterBridgeCompositeDecoratorFacadeFlyweightProxy
Chain of ResponsibilityCommandIteratorMediatorMementoObserverStateStrategyVisitor
Estructural Comportamiento
Propósito
Ámbito
En resumen
Referencias
• Software Quality Attributes. http://www.advoss.com/software-quality-attributes.html
• GOF Patterns. http://www.gofpatterns.com/
• Biografía de Christopher Alexander. http://en.wikipedia.org/wiki/Christopher_Alexander
• GAMMA, Erich; HELM, Richard; JOHNSON, Ralph; VLISSIDES, John (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Reading, Massachusetts: Editorial Addison Wesley Longman, Inc.