Introducción a los patrones de diseño

10
Lenguajes y Modelos de Programación Introducción a los patrones de diseño Jesús Andrés Hincapié Londoño

Transcript of Introducción a los patrones de diseño

Page 1: 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

Page 2: Introducción a los patrones de diseñ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.

Page 3: Introducción a los patrones de diseño

¿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

Page 4: Introducción a los patrones de diseño

¿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.

Page 5: Introducción a los patrones de diseño

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

Page 6: Introducción a los patrones de diseño

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

Page 7: Introducción a los patrones de diseño

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

Page 8: Introducción a los patrones de diseño

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

Page 9: Introducción a los patrones de diseño

En resumen

Page 10: Introducción a los patrones de diseño

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.