SlideShare una empresa de Scribd logo
1 de 18
Universidad de Oriente
Núcleo Monagas
Escuela de Ingeniería y Ciencias Aplicadas
Áreas de Grado: CsC
Profesor:
Ing. Jonathan Vásquez
Maturín, Abril 2015
DEFINICIÓN DE PATRONES.
Los patrón son aquellos que describe
un problema que ocurre una y otra vez
en nuestro entorno, y describe la
esencia de la solución a ese problema,
de tal modo que pueda utilizarse esta
solución un millón de veces más, sin
siquiera hacerlo de la misma manera
dos veces. Christopher Alexander
(1977)
OBJETIVO DE LOS PATRONES.
Reducción de tiempos
Disminución del esfuerzo
de mantenimiento
Aumentar la eficiencia
Asegurar la
consistencia
Aumentar la fiabilidad
Proteger la inversión
en desarrollos
VENTAJAS DE LOS PATRONES DE
DISEÑO.
Capturan la experiencia y la
hacen accesible a los no expertos.El conjunto de sus nombres
forma un vocabulario que ayuda a que
los desarrolladores se comuniquen
mejor
Ayudan a la gente a
comprender un sistema más
rápidamente cuando está
documentado con los patrones que
usa.
Los patrones pueden ser la base
de un manual de ingeniería de
software.
Facilitan la reestructuración de
un sistema tanto si fue o no concebido
con patrones en mente.Reutilización.
El software cambia.
CLASIFICACIÓN DE LOS PATRONES.
Patrones Arquitecturales
Patrones de Diseño
Patrones Elementales
(idioms)
TIPOS DE PATRONES DE DISEÑO
Patrones a tartar:
Facade.
Singleton.
Mediator.
TIPOS DE PATRONES DE DISEÑO
FACADE
Es un patrón fundamental de diseño que provee
una interfaz única para un conjunto de
interfaces dentro de un subsistema. Define una
interfaz de nivel superior que hace que el uso
del subsistema sea mas fácil.
FACADE-Motivación
• La estructuración del sistema en subsistemas
ayuda a reducir la complejidad.
• La interfaz de las clases o de un grupo de clases
puede ser compleja.
FACADE-Beneficios
• Esconde la implementación de los subsistemas
de los clientes.
• Promueve un acoplamiento débil entre el
subsistema y sus clientes.
• Simplifica la portabilidad de los subsistemas
hacia otras plataformas.
TIPOS DE PATRONES DE DISEÑO
Facade - Estructura
TIPOS DE PATRONES DE DISEÑO
Facade - Estructura
TIPOS DE PATRONES DE DISEÑO
Singleton
Singleton es un tipo de patrón creacional que
asegura que una clase tiene una única instancia
y provee un medio de acceso global a dicha
instancia.
Singleton - Aplicabilidad
El patrón Singleton se utiliza cuando:
• Debe haber exactamente una instancia de una
clase y ésta debe ser accesible para los clientes
desde un punto de acceso conocido.
• La única instancia deba ser extensible a través
de una subclase y los clientes puedan usar una
instancia que extienda a la única sin modificar
su código.
Singleton - Beneficios
• Acceso controlado a la instancia única
• Es una mejora a las variables globales
• Permite un número variable de instancias
Singleton -
Implementación
• Asegurar una única instancia.
• Posibles subclases de la clase Singleton.
TIPOS DE PATRONES DE DISEÑO
Singleton - Estructura
TIPOS DE PATRONES DE DISEÑO
Mediator
Define a un objeto que encapsula cómo
interactúan un conjunto de objetos.
Promueve bajo acoplamiento, evitando que los
objetos se comuniquen entre sí explícitamente,
y permite variar la interacción entre ellos de
forma independiente.
Mediator - Motivación
Problema:
• Cuando muchos objetos interactúan con otros
objetos, se forma una estructura compleja, con
muchas conexiones entre ellos.
• Diálogos diferentes (fuentes, imprimir) tienen
dependencias diferentes entre sus elementos.
• Aunque se utilicen los mismos elementos, no se
pueden reutilizar las clases.
• Es engorroso adaptar las clases mediante
herencia.
Reusabilidad:
• Particionar un sistema en muchos objetos la
facilita, pero la proliferación de
interconexiones entre ellos la reduce.
• Gran cantidad de interconexiones hace difícil
que un objeto pueda trabajar sin la ayuda de
otros.
• El sistema al estar distribuido entre muchos
objetos puede resultar difícil cambiar su
comportamiento de forma significativa.
Solución:
• Encapsular el comportamiento colectivo en un
solo objeto (mediador).
• Coordinar y controlar las interacciones entre
los objetos.
• Evitar a los objetos se comuniquen
directamente con los otros objetos.
• Los objetos conocerán únicamente al mediador,
de esta forma se reduce el número de
interconexiones.
Mediator -
Aplicabilidad
• Cuando un conjunto grande de objetos se
comunica de una forma bien definida, pero
compleja.
• En la reutilización de objetos. Existe dificultad
al hacer referencia a varios objetos para
mantener comunicación.
• Cuando el comportamiento de muchos objetos
está distribuido entre muchas clases,
adaptándolo sin mucha herencia.
Mediator -
Participantes
• Mediador: define la interfaz para comunicarse
con los otros objetos.
• Mediador concreto: Implementa el
comportamiento cooperativo entre los Objetos.
Conoce a los Objetos y los mantiene.
• Colegas: Cada colega (objeto) conoce su
mediador, y usa a este para comunicarse con
otros objetos.
TIPOS DE PATRONES DE DISEÑO
Mediator -
Consecuencias
Ventajas:
• Reduce la herencia.
• Desacopla a los objetos.
• Simplifica la comunicación entre objetos.
• Abstrae como los objetos cooperan
Desventajas:
• Centraliza el control:
• Cambia la complejidad en las interacciones entre
objetos por complejidad en el objeto mediador.
• Puede ser muy complejo, difícil de entender y
modificar.
Mediator -
Implementación
Omitir la clase abstracta Mediator:
• No es necesario crear una clase abstracta
Mediador cuando las clases colega sólo trabajan
con un mediador.
• El acoplamiento abstracto de dicha clase
permite que los objetos trabajen con diferentes
Mediador y viceversa.
Comunicación Objeto y Mediador:
• Los objetos se comunican a su mediador cuando
tiene lugar un evento.
• Las clases de objetos cada vez que cambian su
estado envían notificaciones al mediador.
• El mediador responde propagando los efectos
de dichos eventos a los otros objetos.
Mediator – Patrones
relacionados
• Si se abstrae un subsistema de objetos con
protocolo unidireccional se usa Facade, provee
una interfaz mas conveniente, ya que el
Mediator usa un protocolo mutidireccional.
• Los colegas pueden comunicarse con el
mediador mediante Observer.
TIPOS DE PATRONES DE DISEÑO
Mediator - Estructura
 Los patrones de mediator define al objeto y evalúan cómo
interactúan un conjunto de objetos.
CONCLUSIONES
 Los patrones de facade provee una interfaz única para un
conjunto de interfaces dentro de un subsistema.
 Los patrones de diseños resuelven problemas que le ocurren por
experiencias pasadas.
 Cada patrón describe un problema que ocurre una y otra vez en
nuestro entorno
REFERENCIAS BIBLIOGRÁFICAS
 Cáceres T., Jesús. Patrones de diseño: ejemplo de aplicación en los
Generative Learning Object. Artículo en Linea. Consultado el 13 de abril
de 2015. Disponible en: http://www.um.es/ead/red/M10/caceres.pdf
 Mestras, J. P. (2004). Universidad Complutense Madrid. Recuperado el
12 de Abril de 2015, de Universidad Complutense Madrid:
http://www.fdi.ucm.es/profesor/jpavon/poo/2.14pdoo.pdf.
 González M., Madrid J., Torrealba A. Patrones de Diseño. S/F.
Consultado el 13 de Abril de 2015.
 Guerra S. E. Patrón Estructural Adapter (2009). Técnicas de
Programación - Curso 2008/09. Artículo en línea. Consultado el 12 de
abril de 2015. Disponible en:
http://arantxa.ii.uam.es/~eguerra/docencia/0809/03%20Adapter.pdf
Patrones de diseño

Más contenido relacionado

La actualidad más candente

La actualidad más candente (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 de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones Creacionales
Patrones CreacionalesPatrones Creacionales
Patrones Creacionales
 
Patrones bridge puente
Patrones bridge puentePatrones bridge puente
Patrones bridge puente
 
Presentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoFPresentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoF
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creación
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
Introducción a los patrones de diseño
Introducción a los patrones de diseñoIntroducción a los patrones de diseño
Introducción a los patrones de diseño
 
Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
Presentacion Patrones Creacionales
Presentacion Patrones CreacionalesPresentacion Patrones Creacionales
Presentacion Patrones Creacionales
 
Patrones de Diseño: Prototype
Patrones de Diseño: PrototypePatrones de Diseño: Prototype
Patrones de Diseño: Prototype
 
Patron de diseño
Patron de diseñoPatron de diseño
Patron de diseño
 
Buider Patron de Diseño
Buider Patron de DiseñoBuider Patron de Diseño
Buider Patron de Diseño
 
Diseño de Patrones (Fachada)
Diseño de Patrones (Fachada)Diseño de Patrones (Fachada)
Diseño de Patrones (Fachada)
 
patron composite
patron compositepatron composite
patron composite
 
06 patrones
06 patrones06 patrones
06 patrones
 

Similar a Patrones de diseño

Patrones de diseño [DdA-2]
Patrones de diseño [DdA-2]Patrones de diseño [DdA-2]
Patrones de diseño [DdA-2]Karloz Dz
 
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. Jaramillo2008PA2Info3
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoIsrael Rey
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoGermania Rodriguez
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño Ikaolong
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño Ikaolong
 
Patronesdediseo 160927143256 (1)
Patronesdediseo 160927143256 (1)Patronesdediseo 160927143256 (1)
Patronesdediseo 160927143256 (1)ale abad aguilar
 
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 Dorado2008PA2Info3
 
Diseño de software y diseño orientado a objetos
Diseño de software y diseño orientado a objetosDiseño de software y diseño orientado a objetos
Diseño de software y diseño orientado a objetosFabiola Laguna
 
Patrones de Diseño de Software
Patrones de Diseño de SoftwarePatrones de Diseño de Software
Patrones de Diseño de SoftwareWilliam A. Molina
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesMicael Gallego
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosWilfredo Mogollón
 

Similar a Patrones de diseño (20)

Patrones de diseño [DdA-2]
Patrones de diseño [DdA-2]Patrones de diseño [DdA-2]
Patrones de diseño [DdA-2]
 
6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt
 
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
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
chuy
chuy chuy
chuy
 
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 I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
U5.pptx
U5.pptxU5.pptx
U5.pptx
 
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
 
Diseño de software y diseño orientado a objetos
Diseño de software y diseño orientado a objetosDiseño de software y diseño orientado a objetos
Diseño de software y diseño orientado a objetos
 
type object
type objecttype object
type object
 
Patrones de Diseño de Software
Patrones de Diseño de SoftwarePatrones de Diseño de Software
Patrones de Diseño de Software
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicaciones
 
Semana 1 Patrones de Diseño
Semana 1   Patrones de DiseñoSemana 1   Patrones de Diseño
Semana 1 Patrones de Diseño
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a Objetos
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Presentación P.O.O
Presentación P.O.OPresentación P.O.O
Presentación P.O.O
 

Más de Ju Pe

Elección de un modelo de ciclo de vida en el desarrollo de software
Elección de un modelo de ciclo de vida en el desarrollo de softwareElección de un modelo de ciclo de vida en el desarrollo de software
Elección de un modelo de ciclo de vida en el desarrollo de softwareJu Pe
 
Elección de un modelo de ciclo de vida en el desarrollo de software
Elección de un modelo de ciclo de vida en el desarrollo de softwareElección de un modelo de ciclo de vida en el desarrollo de software
Elección de un modelo de ciclo de vida en el desarrollo de softwareJu Pe
 
elementos declarativos en la construcción de software
elementos declarativos en la construcción de softwareelementos declarativos en la construcción de software
elementos declarativos en la construcción de softwareJu Pe
 
Vinculación diseño-código
Vinculación diseño-códigoVinculación diseño-código
Vinculación diseño-códigoJu Pe
 
Vinculación diseño-ódigo
Vinculación diseño-ódigoVinculación diseño-ódigo
Vinculación diseño-ódigoJu Pe
 
Implicancias de uso de late binding
Implicancias de uso de late bindingImplicancias de uso de late binding
Implicancias de uso de late bindingJu Pe
 
Capitulo III La Quinta Disciplina.
Capitulo III La Quinta Disciplina.Capitulo III La Quinta Disciplina.
Capitulo III La Quinta Disciplina.Ju Pe
 
Capitulo III La Quinta Disciplina
Capitulo III La Quinta DisciplinaCapitulo III La Quinta Disciplina
Capitulo III La Quinta DisciplinaJu Pe
 

Más de Ju Pe (8)

Elección de un modelo de ciclo de vida en el desarrollo de software
Elección de un modelo de ciclo de vida en el desarrollo de softwareElección de un modelo de ciclo de vida en el desarrollo de software
Elección de un modelo de ciclo de vida en el desarrollo de software
 
Elección de un modelo de ciclo de vida en el desarrollo de software
Elección de un modelo de ciclo de vida en el desarrollo de softwareElección de un modelo de ciclo de vida en el desarrollo de software
Elección de un modelo de ciclo de vida en el desarrollo de software
 
elementos declarativos en la construcción de software
elementos declarativos en la construcción de softwareelementos declarativos en la construcción de software
elementos declarativos en la construcción de software
 
Vinculación diseño-código
Vinculación diseño-códigoVinculación diseño-código
Vinculación diseño-código
 
Vinculación diseño-ódigo
Vinculación diseño-ódigoVinculación diseño-ódigo
Vinculación diseño-ódigo
 
Implicancias de uso de late binding
Implicancias de uso de late bindingImplicancias de uso de late binding
Implicancias de uso de late binding
 
Capitulo III La Quinta Disciplina.
Capitulo III La Quinta Disciplina.Capitulo III La Quinta Disciplina.
Capitulo III La Quinta Disciplina.
 
Capitulo III La Quinta Disciplina
Capitulo III La Quinta DisciplinaCapitulo III La Quinta Disciplina
Capitulo III La Quinta Disciplina
 

Último

MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 

Último (20)

Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 

Patrones de diseño

  • 1. Universidad de Oriente Núcleo Monagas Escuela de Ingeniería y Ciencias Aplicadas Áreas de Grado: CsC Profesor: Ing. Jonathan Vásquez Maturín, Abril 2015
  • 2.
  • 3. DEFINICIÓN DE PATRONES. Los patrón son aquellos que describe un problema que ocurre una y otra vez en nuestro entorno, y describe la esencia de la solución a ese problema, de tal modo que pueda utilizarse esta solución un millón de veces más, sin siquiera hacerlo de la misma manera dos veces. Christopher Alexander (1977)
  • 4. OBJETIVO DE LOS PATRONES. Reducción de tiempos Disminución del esfuerzo de mantenimiento Aumentar la eficiencia Asegurar la consistencia Aumentar la fiabilidad Proteger la inversión en desarrollos
  • 5. VENTAJAS DE LOS PATRONES DE DISEÑO. Capturan la experiencia y la hacen accesible a los no expertos.El conjunto de sus nombres forma un vocabulario que ayuda a que los desarrolladores se comuniquen mejor Ayudan a la gente a comprender un sistema más rápidamente cuando está documentado con los patrones que usa. Los patrones pueden ser la base de un manual de ingeniería de software. Facilitan la reestructuración de un sistema tanto si fue o no concebido con patrones en mente.Reutilización. El software cambia.
  • 6. CLASIFICACIÓN DE LOS PATRONES. Patrones Arquitecturales Patrones de Diseño Patrones Elementales (idioms)
  • 7. TIPOS DE PATRONES DE DISEÑO Patrones a tartar: Facade. Singleton. Mediator.
  • 8. TIPOS DE PATRONES DE DISEÑO FACADE Es un patrón fundamental de diseño que provee una interfaz única para un conjunto de interfaces dentro de un subsistema. Define una interfaz de nivel superior que hace que el uso del subsistema sea mas fácil. FACADE-Motivación • La estructuración del sistema en subsistemas ayuda a reducir la complejidad. • La interfaz de las clases o de un grupo de clases puede ser compleja. FACADE-Beneficios • Esconde la implementación de los subsistemas de los clientes. • Promueve un acoplamiento débil entre el subsistema y sus clientes. • Simplifica la portabilidad de los subsistemas hacia otras plataformas.
  • 9. TIPOS DE PATRONES DE DISEÑO Facade - Estructura
  • 10. TIPOS DE PATRONES DE DISEÑO Facade - Estructura
  • 11. TIPOS DE PATRONES DE DISEÑO Singleton Singleton es un tipo de patrón creacional que asegura que una clase tiene una única instancia y provee un medio de acceso global a dicha instancia. Singleton - Aplicabilidad El patrón Singleton se utiliza cuando: • Debe haber exactamente una instancia de una clase y ésta debe ser accesible para los clientes desde un punto de acceso conocido. • La única instancia deba ser extensible a través de una subclase y los clientes puedan usar una instancia que extienda a la única sin modificar su código. Singleton - Beneficios • Acceso controlado a la instancia única • Es una mejora a las variables globales • Permite un número variable de instancias Singleton - Implementación • Asegurar una única instancia. • Posibles subclases de la clase Singleton.
  • 12. TIPOS DE PATRONES DE DISEÑO Singleton - Estructura
  • 13. TIPOS DE PATRONES DE DISEÑO Mediator Define a un objeto que encapsula cómo interactúan un conjunto de objetos. Promueve bajo acoplamiento, evitando que los objetos se comuniquen entre sí explícitamente, y permite variar la interacción entre ellos de forma independiente. Mediator - Motivación Problema: • Cuando muchos objetos interactúan con otros objetos, se forma una estructura compleja, con muchas conexiones entre ellos. • Diálogos diferentes (fuentes, imprimir) tienen dependencias diferentes entre sus elementos. • Aunque se utilicen los mismos elementos, no se pueden reutilizar las clases. • Es engorroso adaptar las clases mediante herencia. Reusabilidad: • Particionar un sistema en muchos objetos la facilita, pero la proliferación de interconexiones entre ellos la reduce. • Gran cantidad de interconexiones hace difícil que un objeto pueda trabajar sin la ayuda de otros. • El sistema al estar distribuido entre muchos objetos puede resultar difícil cambiar su comportamiento de forma significativa. Solución: • Encapsular el comportamiento colectivo en un solo objeto (mediador). • Coordinar y controlar las interacciones entre los objetos. • Evitar a los objetos se comuniquen directamente con los otros objetos. • Los objetos conocerán únicamente al mediador, de esta forma se reduce el número de interconexiones. Mediator - Aplicabilidad • Cuando un conjunto grande de objetos se comunica de una forma bien definida, pero compleja. • En la reutilización de objetos. Existe dificultad al hacer referencia a varios objetos para mantener comunicación. • Cuando el comportamiento de muchos objetos está distribuido entre muchas clases, adaptándolo sin mucha herencia. Mediator - Participantes • Mediador: define la interfaz para comunicarse con los otros objetos. • Mediador concreto: Implementa el comportamiento cooperativo entre los Objetos. Conoce a los Objetos y los mantiene. • Colegas: Cada colega (objeto) conoce su mediador, y usa a este para comunicarse con otros objetos.
  • 14. TIPOS DE PATRONES DE DISEÑO Mediator - Consecuencias Ventajas: • Reduce la herencia. • Desacopla a los objetos. • Simplifica la comunicación entre objetos. • Abstrae como los objetos cooperan Desventajas: • Centraliza el control: • Cambia la complejidad en las interacciones entre objetos por complejidad en el objeto mediador. • Puede ser muy complejo, difícil de entender y modificar. Mediator - Implementación Omitir la clase abstracta Mediator: • No es necesario crear una clase abstracta Mediador cuando las clases colega sólo trabajan con un mediador. • El acoplamiento abstracto de dicha clase permite que los objetos trabajen con diferentes Mediador y viceversa. Comunicación Objeto y Mediador: • Los objetos se comunican a su mediador cuando tiene lugar un evento. • Las clases de objetos cada vez que cambian su estado envían notificaciones al mediador. • El mediador responde propagando los efectos de dichos eventos a los otros objetos. Mediator – Patrones relacionados • Si se abstrae un subsistema de objetos con protocolo unidireccional se usa Facade, provee una interfaz mas conveniente, ya que el Mediator usa un protocolo mutidireccional. • Los colegas pueden comunicarse con el mediador mediante Observer.
  • 15. TIPOS DE PATRONES DE DISEÑO Mediator - Estructura
  • 16.  Los patrones de mediator define al objeto y evalúan cómo interactúan un conjunto de objetos. CONCLUSIONES  Los patrones de facade provee una interfaz única para un conjunto de interfaces dentro de un subsistema.  Los patrones de diseños resuelven problemas que le ocurren por experiencias pasadas.  Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno
  • 17. REFERENCIAS BIBLIOGRÁFICAS  Cáceres T., Jesús. Patrones de diseño: ejemplo de aplicación en los Generative Learning Object. Artículo en Linea. Consultado el 13 de abril de 2015. Disponible en: http://www.um.es/ead/red/M10/caceres.pdf  Mestras, J. P. (2004). Universidad Complutense Madrid. Recuperado el 12 de Abril de 2015, de Universidad Complutense Madrid: http://www.fdi.ucm.es/profesor/jpavon/poo/2.14pdoo.pdf.  González M., Madrid J., Torrealba A. Patrones de Diseño. S/F. Consultado el 13 de Abril de 2015.  Guerra S. E. Patrón Estructural Adapter (2009). Técnicas de Programación - Curso 2008/09. Artículo en línea. Consultado el 12 de abril de 2015. Disponible en: http://arantxa.ii.uam.es/~eguerra/docencia/0809/03%20Adapter.pdf