SlideShare ist ein Scribd-Unternehmen logo
1 von 10
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 Cambio
Para 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.html
Por autor desconocido
Patrones GOF
El catálogo GOF está dividido en tres categorías
Creación
Herencia
Composición
Factory Method Adapter Interpreter
Template Method
Abstract Factory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Chain of Responsibility
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor
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.

Weitere ähnliche Inhalte

Ähnlich wie Patrones diseño intro

Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoaleja0940
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
Diaposotivas de ingeneria de software
Diaposotivas de ingeneria de softwareDiaposotivas de ingeneria de software
Diaposotivas de ingeneria de softwareMoises Castillo
 
Modelos de proceso de software grupo 7
Modelos de proceso de software grupo 7Modelos de proceso de software grupo 7
Modelos de proceso de software grupo 7EduardoMedrano19
 
Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUPAngelDX
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
Introducción al diseño de sistemas y productos World Class según Jmj Lab
Introducción al diseño de sistemas y productos World Class según Jmj LabIntroducción al diseño de sistemas y productos World Class según Jmj Lab
Introducción al diseño de sistemas y productos World Class según Jmj LabJMJDESIGNER "The Druid"
 
Desarrollo de sistemas de información
Desarrollo de sistemas de informaciónDesarrollo de sistemas de información
Desarrollo de sistemas de informaciónEder Martin Shapiama
 
12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptxGonzaloMartinezSilve
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Hendrick Rodriguez
 

Ähnlich wie Patrones diseño intro (20)

Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
patrones de codigo.pptx
patrones de codigo.pptxpatrones de codigo.pptx
patrones de codigo.pptx
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Diaposotivas de ingeneria de software
Diaposotivas de ingeneria de softwareDiaposotivas de ingeneria de software
Diaposotivas de ingeneria de software
 
Modelos de proceso de software grupo 7
Modelos de proceso de software grupo 7Modelos de proceso de software grupo 7
Modelos de proceso de software grupo 7
 
Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUP
 
Actividad de aprendizaje
Actividad de aprendizajeActividad de aprendizaje
Actividad de aprendizaje
 
modelos para el desarrollo de sofware
modelos para el desarrollo de sofwaremodelos para el desarrollo de sofware
modelos para el desarrollo de sofware
 
Modelos software
Modelos softwareModelos software
Modelos software
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Clase ii patrones de diseño
Clase ii patrones de diseñoClase ii patrones de diseño
Clase ii patrones de diseño
 
Introducción al diseño de sistemas y productos World Class según Jmj Lab
Introducción al diseño de sistemas y productos World Class según Jmj LabIntroducción al diseño de sistemas y productos World Class según Jmj Lab
Introducción al diseño de sistemas y productos World Class según Jmj Lab
 
01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software
 
Metodología rup
Metodología rupMetodología rup
Metodología rup
 
Desarrollo de sistemas de información
Desarrollo de sistemas de informaciónDesarrollo de sistemas de información
Desarrollo de sistemas de información
 
12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )
 
Clase1
Clase1Clase1
Clase1
 

Patrones diseño intro

  • 1. Lenguajes y Modelos de Programación Introducción a los patrones de diseño Jesús Andrés Hincapié Londoño
  • 2. 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.
  • 3. ¿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
  • 4. ¿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.
  • 5. El cambio en el software La única cosa que siempre va a estar presente en el desarrollo de software es El Cambio Para administrar el cambio en el software, se requieren sistemas • Flexibles • Reutilizables • Extensibles Atributos de calidad
  • 6. 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
  • 7. 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.html Por autor desconocido
  • 8. Patrones GOF El catálogo GOF está dividido en tres categorías Creación Herencia Composición Factory Method Adapter Interpreter Template Method Abstract Factory Builder Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor Estructural Comportamiento Propósito Ámbito
  • 10. 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.