SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Patrones de Diseño
Lagash Systems
Mariano Sánchez
Que son los Patrones de Diseño?
• Los patrones de diseño son soluciones a los problemas
recurrentes de diseño de software que encontramos
una y otra vez en el desarrollo de aplicaciones.
• Se clasifican en tres grupos:
– De creación (Creational),
– De estructura (Structural)
– De comportamiento. (Behavioral)
Y para que sirven?
• No reinventar la rueda…
• Lenguaje común entre desarrolladores.
• No son una «Silver Bullet».

• Flexibilidad de implementación.
Patrones
• Creational
– Factory Method
– Singleton
– Builder

• Structural
– Composite
– Facade
– Proxy

• Behavioral
– State
– Strategy
– Template Method
Factory Method
• Define una interfaz para crear un objeto, pero deja la
desición de qué clase instanciar a las subclases que la
implementen.
Singleton
• Garantiza que una clase tiene sólo una instancia y
proporciona un punto de acceso global a ella.
Builder
• Separa la construcción de un objeto complejo de su
representación para que con el mismo proceso de
construcción se pueden crear diferentes representaciones.
Composite
• Compone objetos en estructuras de árbol para representar
jerarquías parte-todo. Composite permite tratar objetos
individuales y las composiciones de manera uniforme.
Facade
• Proporciona una interfaz unificada para un conjunto de
interfaces en un subsistema. Facade (fachada) define una
interfaz de alto nivel que hace que el subsistema sea más
fácil de usar.
Proxy
• Proporcionar un sustituto de un objeto en otro para
controlar el acceso al primero.
State
• Permite que un objeto modifique su comportamiento
cuando cambia su estado interno.
Strategy
• Define una familia de algoritmos, encapsula cada
uno, y los hace intercambiables. Strategy permite al
algoritmo variar independientemente de los clientes
que lo utilizan.
Template Method
• Define el esqueleto de un algoritmo en una operación,
difiriendo algunos pasos a subclases. Template Method
permite a las subclases redefinir ciertos pasos de un
algoritmo sin cambiar su estructura.
Preguntas?
Recursos
• Design Patterns: Elements of Reusable ObjectOriented Software
– E. Gamma, R. Helms, R. Johnson, J. Vlissides;
Addison Wesley, 1994, ISBN 0201633612

• Refactoring To Patterns
– Joshua Kerievsky; Addison Wesley, 2004, ISBN
0321213351

• http://www.dofactory.com/Patterns/Patterns.aspx
Patrones de Diseño

Weitere ähnliche Inhalte

Ähnlich wie Patrones de Diseño

Ähnlich wie Patrones de Diseño (20)

Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseño
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo
 
U5.pptx
U5.pptxU5.pptx
U5.pptx
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Patrones de Diseño de Software
Patrones de Diseño de SoftwarePatrones de Diseño de Software
Patrones de Diseño de Software
 
chuy
chuy chuy
chuy
 
Patron de diseño
Patron de diseñoPatron de diseño
Patron de diseño
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
 
patronesdiseño2009.ppt
patronesdiseño2009.pptpatronesdiseño2009.ppt
patronesdiseño2009.ppt
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Capitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webCapitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_web
 
6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Modelos (UML)
Modelos (UML)Modelos (UML)
Modelos (UML)
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
INFOGRAFIA.pdf
INFOGRAFIA.pdfINFOGRAFIA.pdf
INFOGRAFIA.pdf
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 

Mehr von Mariano Sánchez

Mehr von Mariano Sánchez (11)

.NET Core
.NET Core.NET Core
.NET Core
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Introducción a SignalR
Introducción a SignalRIntroducción a SignalR
Introducción a SignalR
 
HTML5 + Asp.NET
HTML5 + Asp.NETHTML5 + Asp.NET
HTML5 + Asp.NET
 
Hey Cortana!
Hey Cortana!Hey Cortana!
Hey Cortana!
 
Developing Universal Apps for Windows
Developing Universal Apps for WindowsDeveloping Universal Apps for Windows
Developing Universal Apps for Windows
 
Introducing the Windows Phone 8.1 App Development Platform
Introducing the Windows Phone 8.1 App Development PlatformIntroducing the Windows Phone 8.1 App Development Platform
Introducing the Windows Phone 8.1 App Development Platform
 
Visual Studio Online
Visual Studio OnlineVisual Studio Online
Visual Studio Online
 
Patrones Grasp
Patrones GraspPatrones Grasp
Patrones Grasp
 
Conociendo TypeScript
Conociendo TypeScriptConociendo TypeScript
Conociendo TypeScript
 
Refactoring - Mejorando el diseño del código existente
Refactoring - Mejorando el diseño del código existenteRefactoring - Mejorando el diseño del código existente
Refactoring - Mejorando el diseño del código existente
 

Kürzlich hochgeladen

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 

Kürzlich hochgeladen (20)

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 

Patrones de Diseño

  • 1. Patrones de Diseño Lagash Systems Mariano Sánchez
  • 2. Que son los Patrones de Diseño? • Los patrones de diseño son soluciones a los problemas recurrentes de diseño de software que encontramos una y otra vez en el desarrollo de aplicaciones. • Se clasifican en tres grupos: – De creación (Creational), – De estructura (Structural) – De comportamiento. (Behavioral)
  • 3. Y para que sirven? • No reinventar la rueda… • Lenguaje común entre desarrolladores. • No son una «Silver Bullet». • Flexibilidad de implementación.
  • 4. Patrones • Creational – Factory Method – Singleton – Builder • Structural – Composite – Facade – Proxy • Behavioral – State – Strategy – Template Method
  • 5. Factory Method • Define una interfaz para crear un objeto, pero deja la desición de qué clase instanciar a las subclases que la implementen.
  • 6. Singleton • Garantiza que una clase tiene sólo una instancia y proporciona un punto de acceso global a ella.
  • 7. Builder • Separa la construcción de un objeto complejo de su representación para que con el mismo proceso de construcción se pueden crear diferentes representaciones.
  • 8. Composite • Compone objetos en estructuras de árbol para representar jerarquías parte-todo. Composite permite tratar objetos individuales y las composiciones de manera uniforme.
  • 9. Facade • Proporciona una interfaz unificada para un conjunto de interfaces en un subsistema. Facade (fachada) define una interfaz de alto nivel que hace que el subsistema sea más fácil de usar.
  • 10. Proxy • Proporcionar un sustituto de un objeto en otro para controlar el acceso al primero.
  • 11. State • Permite que un objeto modifique su comportamiento cuando cambia su estado interno.
  • 12. Strategy • Define una familia de algoritmos, encapsula cada uno, y los hace intercambiables. Strategy permite al algoritmo variar independientemente de los clientes que lo utilizan.
  • 13. Template Method • Define el esqueleto de un algoritmo en una operación, difiriendo algunos pasos a subclases. Template Method permite a las subclases redefinir ciertos pasos de un algoritmo sin cambiar su estructura.
  • 15. Recursos • Design Patterns: Elements of Reusable ObjectOriented Software – E. Gamma, R. Helms, R. Johnson, J. Vlissides; Addison Wesley, 1994, ISBN 0201633612 • Refactoring To Patterns – Joshua Kerievsky; Addison Wesley, 2004, ISBN 0321213351 • http://www.dofactory.com/Patterns/Patterns.aspx