SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
PATRONES DE
DISEÑO
Mg. Richard E. Mendoza G.
https://refactoring.guru/es/design -patterns/abstract-factory
Un patrón de diseño es, la
solución a un problema de
diseño, el cual debe haber
comprobado su efectividad
resolviendo problemas similares
en el pasado, también tiene que
ser reutilizable, por lo que se
deben poder usar para resolver
problemas parecidos en
contextos diferentes.
PATRON DE DISEÑO
A Pattern Language (1979)
Christopher Alexander
• Captura de problemas
esenciales y plantea
soluciones
• Crea un lenguaje para
expresar ideas
arquitectónicas
• Influencia relativa en la
arquitectura
HISTORIA
Kent Beck & Ward Cunningham (1987)
mostraron la aplicabilidad que tenían
las ideas de Alexander con el Software
1994, sale a luz el libro que cambiaría
para siempre el concepto de Patrones
de diseño.
Patrones GoF (23)
Erich Gamma
Richard Helm
Ralph Johnson
John Vlissides
HISTORIA
• Demuestra la madurez de un
programador de software
• Evita reinventar la rueda
• Agiliza el desarrollo de
software
• Se basa en las mejores
prácticas de programación
• Permite utilizar un
vocabulario común
IMPORTANCIA DE LOS PDD
• Proporcionar un catálogo de soluciones probadas de
diseño para problemas comunes conocidos.
• Evitar la reiteración en la búsqueda de soluciones a
problemas ya conocidos y solucionados
anteriormente .
• Crear un lenguaje estándar entre los desarrolladores .
• Facilitar el aprendizaje a nuevas generaciones de
programadores .
QUE SE BUSCA CON LOS PDD
• Imponer ciertas alternativas de diseño frente a otras.
• Imponer la solución definitiva a un problema de
diseño.
• Eliminar la creatividad inherente al proceso de diseño
QUE SE BUSCA CON LOS PDD
Solution
Architect
Arquitecto
Developer Sr
Developer Jr Habla en código
Mezcla patrones con código
Habla de patrones y componentes
Habla de procesos, componentes e integraciones
@sgcampus
PDD Y LA
EVOLUCION PROFESIONAL
El programador ve Variables
El programador ve funciones/métodos El arquitecto ve Interfaces
El programador ve Clases El arquitecto ve Componentes
El arquitecto ve Configuraciones
@sgcampus
Cuando
EVOLUCIONANDO A
LA ARQUITECTURA
@sgcampus
SUELDO ARQUITECTO
Patrones
Patrones de
diseño
Patrones
Arquitectónicos
Afecta la forma de trabajar del todo el
componente, impone restricciones,
así como la forma con que se
comunica con otros componentes.
Tiene un contexto mas pequeño, pues
se centran en la forma en que los
objetos se crean, estructuran o
interactúan con el resto.
@sgcampus
TIPOS DE
PATRONES DE DISEÑO
Patrones
Patrones de
diseño
Creacionales
Estructurales
Comportamiento
Patrones
Arquitectónicos
Integración
Seguridad
Web
Controlan la forma en que los
objetos son creados
Define la forma en que las
clases deben de
estructurarse
Define la forma en que los
objetos deben de
comportarse en Runtime
@sgcampus
TIPOS DE
PATRONES DE DISEÑO
<subcomponent>
Singleton
<subcomponent>
Factory Method
<subcomponent>
Composite
Patrón de diseño
Component
@sgcampus
EJEMPLO DE
PATRONES DE DISEÑO
Negocio
Datos
• Patrón Arquitectónico
• Component (3 layers)
• Presentación
@sgcampus
EJEMPLO DE
PATRONES DE DISEÑO
Creacionales
• *Factory Method
• *Abstract Factory
• *Singleton
• *Builder
• Prototype
• *Object Pool
Estructurales
• Adapter
• Bridge
• *Composite
• Decorator
• Facade
• Flyweight
• *Proxy
Comportamiento
• *Iterator
• *Commando
• *Observer
• Templete Method
• *Strategy
• Chain of
reponsability
• Iterpreter
• Mediator
• Memento
• State
• Visitor
@sgcampus
PRINCIPALES DE
PATRONES DE DISEÑO
PATRONES CREACIONALES
Factory Method
Crea una instancia de varias clases derivadas
Abstract Factory
Crea una instancia de varias familias de clases
Builder
Separa la construcción de un objeto de su representación
Prototype
Genera una instancia y la inicializa, que puede ser copiada o
clonada.
Singleton
Una clase de la cual solo puede existir una única instancia
PATRONES DE ESTRUCTURA
Adapter : relaciona interfaces de diferentes clases.
Bridge: separa la interfaz de un objeto de su implementación.
Composite: una estructura de árbol de objetos simples y
compuestos.
Decorator : añadir responsabilidades a los objetos
dinámicamente.
Facade: una única clase que representa todo un subsistema.
Flyweight : una instancia usada para compartir de manera
eficiente.
Proxy: un objeto que representa a otro objeto.
PATRONES DE
COMPORTAMIENTOS
Chain of responsability : una manera de pasar una petición a
una cadena de objetos.
Command: encapsula una petición de comandos como un
objeto.
Interpreter : una manera de incluir elementos del lenguaje en un
programa.
Iterator : acceso secuencial a los elementos de una colección
Mediator: define una comunicación simplificada entre clases
Memento: captura y restaura el estado interno de un objeto.
Observer : una forma de notificar cambios a varias clases.
State : altera el comportamiento de un objeto cuando cambia de
estado.
Strategy : encapsula un algoritmo dentro de una clase.
• Presentar y dar el esquema de
arquitectura de software
orientada a patrones (Pattern
Oriented Software
Architecture )
• Mostrar un lenguaje de
patrones que facilitará el
diseño de la arquitectura de
software a partir de los
diferentes patrones .
OBJETIVOS DE POSA
• El volumen 1 de POSAse enfoca alos patrones fundamentales de
arquitectura de software
• El volumen 2 de POSAse enfoca ala arquitectura del software
para manejo de concurrencia y de gestión con la red
• El volumen 3 de POSAse enfoca a patrones para la
arquitectura de recursos de computación
• El volumen 4 de POSA conjunta los patrones de cómputo
distribuido y conocidos por la comunidad (incluyendo GoF, PEAA,
EIP)
• El volumen 5 de POSAse enfoca atratar un modelo para definir
lenguajes de patrones
ESTRUCTURA POSA
• Patrones de Arquitectura : Layers, MVC, EDA,
etc.
• Patrones de Diseño: Factory Method , Façade,
Strategy , Observer, etc.
• Idioms/Modismos : Manejo de memoria,
uso del lenguaje, convenciones de nombrado,
etc.
CATEGORIA PATRONES POSA
Problema:
Diseñar un sistema cuya característica dominante sea una
mezcla de problemas de alto nivel y de bajo nivel
El flujo de comunicación consta de peticiones que van del
nivel más superior al
nivel inferior, y las respuestas en sentido inverso
Contexto:
Una aplicación grande que requiere
descomposición
Solución:
Estructurar aplicaciones que puedan ser descompuestas
en grupos de subtareas, en las que cada grupo de
subtareas está en un nivel particular de abstracción
PATRON LAYERS(CAPAS)
Patrón para estructurar sistemas
distribuidos usando el
desacoplamiento de componentes y
que interactúan entre ellos a través
de invocación a servicios remotos. El
mediador coordina la comunicación
de solicitudes del cliente al servidor y
coordina el retorno del resultado del
servidor al cliente, procurando la
transparencia en el formato de datos
y el protocolo de transporte.
PATRON BROKER(MEDIADOR)
https://refactoring.guru/es/design -patterns

Contenu connexe

Tendances

Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controladorCecy Villalta
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDat@center S.A
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVAMichelle Torres
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De RationalJulio Pari
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)programadorjavablog
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionalesignagonzalez
 
Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De NegocioKudos S.A.S
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Oswaldo Hernández
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Enrique Barreiro
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relaciondanielglot
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 

Tendances (20)

Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controlador
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
 
Qué es el modelado de negocios
Qué es el modelado de negociosQué es el modelado de negocios
Qué es el modelado de negocios
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Colecciones en Python
Colecciones en PythonColecciones en Python
Colecciones en Python
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De Negocio
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
oohdm
oohdmoohdm
oohdm
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 

Similaire à Semana 1 Patrones de Diseño

Similaire à Semana 1 Patrones de Diseño (20)

Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
chuy
chuy chuy
chuy
 
Patrones de-diseño
Patrones de-diseñoPatrones de-diseño
Patrones de-diseño
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
Patronesdediseo 160927143256 (1)
Patronesdediseo 160927143256 (1)Patronesdediseo 160927143256 (1)
Patronesdediseo 160927143256 (1)
 
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
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx
 
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
 
12.diseño basado en patrones
12.diseño basado en patrones12.diseño basado en patrones
12.diseño basado en patrones
 
patronesdiseño2009.ppt
patronesdiseño2009.pptpatronesdiseño2009.ppt
patronesdiseño2009.ppt
 
2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx
 
Tarea 1
Tarea 1Tarea 1
Tarea 1
 
Sesion 2
Sesion 2Sesion 2
Sesion 2
 
Diseno Software
Diseno SoftwareDiseno Software
Diseno Software
 
Programacion Basica
Programacion Basica Programacion Basica
Programacion Basica
 
Presentación de programacion
Presentación  de programacionPresentación  de programacion
Presentación de programacion
 
Kiwi
KiwiKiwi
Kiwi
 

Plus de Richard Eliseo Mendoza Gafaro

PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIRichard Eliseo Mendoza Gafaro
 

Plus de Richard Eliseo Mendoza Gafaro (20)

CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEICUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
 
Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1
 
MANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASEMANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASE
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
 
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UXPARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
 
Explicación cadena de valor
Explicación cadena de valorExplicación cadena de valor
Explicación cadena de valor
 
MANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEBMANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEB
 
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCHMANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
 
CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2
 
CUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3DCUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3D
 
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOSMANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
CLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUDCLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUD
 
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIOCASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
 
MATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNAMATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNA
 
PREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTASPREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTAS
 

Dernier

Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosMARGARITAMARIAFERNAN1
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOLUISDAVIDVIZARRETARA
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesgovovo2388
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 

Dernier (20)

Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 

Semana 1 Patrones de Diseño

  • 2.
  • 3.
  • 4.
  • 6. Un patrón de diseño es, la solución a un problema de diseño, el cual debe haber comprobado su efectividad resolviendo problemas similares en el pasado, también tiene que ser reutilizable, por lo que se deben poder usar para resolver problemas parecidos en contextos diferentes. PATRON DE DISEÑO
  • 7. A Pattern Language (1979) Christopher Alexander • Captura de problemas esenciales y plantea soluciones • Crea un lenguaje para expresar ideas arquitectónicas • Influencia relativa en la arquitectura HISTORIA
  • 8. Kent Beck & Ward Cunningham (1987) mostraron la aplicabilidad que tenían las ideas de Alexander con el Software 1994, sale a luz el libro que cambiaría para siempre el concepto de Patrones de diseño. Patrones GoF (23) Erich Gamma Richard Helm Ralph Johnson John Vlissides HISTORIA
  • 9. • Demuestra la madurez de un programador de software • Evita reinventar la rueda • Agiliza el desarrollo de software • Se basa en las mejores prácticas de programación • Permite utilizar un vocabulario común IMPORTANCIA DE LOS PDD
  • 10. • Proporcionar un catálogo de soluciones probadas de diseño para problemas comunes conocidos. • Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados anteriormente . • Crear un lenguaje estándar entre los desarrolladores . • Facilitar el aprendizaje a nuevas generaciones de programadores . QUE SE BUSCA CON LOS PDD
  • 11. • Imponer ciertas alternativas de diseño frente a otras. • Imponer la solución definitiva a un problema de diseño. • Eliminar la creatividad inherente al proceso de diseño QUE SE BUSCA CON LOS PDD
  • 12. Solution Architect Arquitecto Developer Sr Developer Jr Habla en código Mezcla patrones con código Habla de patrones y componentes Habla de procesos, componentes e integraciones @sgcampus PDD Y LA EVOLUCION PROFESIONAL
  • 13. El programador ve Variables El programador ve funciones/métodos El arquitecto ve Interfaces El programador ve Clases El arquitecto ve Componentes El arquitecto ve Configuraciones @sgcampus Cuando EVOLUCIONANDO A LA ARQUITECTURA
  • 15. Patrones Patrones de diseño Patrones Arquitectónicos Afecta la forma de trabajar del todo el componente, impone restricciones, así como la forma con que se comunica con otros componentes. Tiene un contexto mas pequeño, pues se centran en la forma en que los objetos se crean, estructuran o interactúan con el resto. @sgcampus TIPOS DE PATRONES DE DISEÑO
  • 16. Patrones Patrones de diseño Creacionales Estructurales Comportamiento Patrones Arquitectónicos Integración Seguridad Web Controlan la forma en que los objetos son creados Define la forma en que las clases deben de estructurarse Define la forma en que los objetos deben de comportarse en Runtime @sgcampus TIPOS DE PATRONES DE DISEÑO
  • 17. <subcomponent> Singleton <subcomponent> Factory Method <subcomponent> Composite Patrón de diseño Component @sgcampus EJEMPLO DE PATRONES DE DISEÑO
  • 18. Negocio Datos • Patrón Arquitectónico • Component (3 layers) • Presentación @sgcampus EJEMPLO DE PATRONES DE DISEÑO
  • 19. Creacionales • *Factory Method • *Abstract Factory • *Singleton • *Builder • Prototype • *Object Pool Estructurales • Adapter • Bridge • *Composite • Decorator • Facade • Flyweight • *Proxy Comportamiento • *Iterator • *Commando • *Observer • Templete Method • *Strategy • Chain of reponsability • Iterpreter • Mediator • Memento • State • Visitor @sgcampus PRINCIPALES DE PATRONES DE DISEÑO
  • 20. PATRONES CREACIONALES Factory Method Crea una instancia de varias clases derivadas Abstract Factory Crea una instancia de varias familias de clases Builder Separa la construcción de un objeto de su representación Prototype Genera una instancia y la inicializa, que puede ser copiada o clonada. Singleton Una clase de la cual solo puede existir una única instancia
  • 21. PATRONES DE ESTRUCTURA Adapter : relaciona interfaces de diferentes clases. Bridge: separa la interfaz de un objeto de su implementación. Composite: una estructura de árbol de objetos simples y compuestos. Decorator : añadir responsabilidades a los objetos dinámicamente. Facade: una única clase que representa todo un subsistema. Flyweight : una instancia usada para compartir de manera eficiente. Proxy: un objeto que representa a otro objeto.
  • 22. PATRONES DE COMPORTAMIENTOS Chain of responsability : una manera de pasar una petición a una cadena de objetos. Command: encapsula una petición de comandos como un objeto. Interpreter : una manera de incluir elementos del lenguaje en un programa. Iterator : acceso secuencial a los elementos de una colección Mediator: define una comunicación simplificada entre clases Memento: captura y restaura el estado interno de un objeto. Observer : una forma de notificar cambios a varias clases. State : altera el comportamiento de un objeto cuando cambia de estado. Strategy : encapsula un algoritmo dentro de una clase.
  • 23. • Presentar y dar el esquema de arquitectura de software orientada a patrones (Pattern Oriented Software Architecture ) • Mostrar un lenguaje de patrones que facilitará el diseño de la arquitectura de software a partir de los diferentes patrones . OBJETIVOS DE POSA
  • 24. • El volumen 1 de POSAse enfoca alos patrones fundamentales de arquitectura de software • El volumen 2 de POSAse enfoca ala arquitectura del software para manejo de concurrencia y de gestión con la red • El volumen 3 de POSAse enfoca a patrones para la arquitectura de recursos de computación • El volumen 4 de POSA conjunta los patrones de cómputo distribuido y conocidos por la comunidad (incluyendo GoF, PEAA, EIP) • El volumen 5 de POSAse enfoca atratar un modelo para definir lenguajes de patrones ESTRUCTURA POSA
  • 25. • Patrones de Arquitectura : Layers, MVC, EDA, etc. • Patrones de Diseño: Factory Method , Façade, Strategy , Observer, etc. • Idioms/Modismos : Manejo de memoria, uso del lenguaje, convenciones de nombrado, etc. CATEGORIA PATRONES POSA
  • 26. Problema: Diseñar un sistema cuya característica dominante sea una mezcla de problemas de alto nivel y de bajo nivel El flujo de comunicación consta de peticiones que van del nivel más superior al nivel inferior, y las respuestas en sentido inverso Contexto: Una aplicación grande que requiere descomposición Solución: Estructurar aplicaciones que puedan ser descompuestas en grupos de subtareas, en las que cada grupo de subtareas está en un nivel particular de abstracción PATRON LAYERS(CAPAS)
  • 27. Patrón para estructurar sistemas distribuidos usando el desacoplamiento de componentes y que interactúan entre ellos a través de invocación a servicios remotos. El mediador coordina la comunicación de solicitudes del cliente al servidor y coordina el retorno del resultado del servidor al cliente, procurando la transparencia en el formato de datos y el protocolo de transporte. PATRON BROKER(MEDIADOR)