SlideShare una empresa de Scribd logo
1 de 10
PATRONES DE DISEÑO
ARBEY TOVAR ÁLVAREZ
CORPORACIÓN UNIFICADA NACIONAL
FACULTAD DE INGENIERÍA SISTEMAS
INGENIERÍA DEL SOFTWARE III
BOGOTÁ
2016
PATRONES DE DISEÑO
ARBEY TOVAR ÁLVAREZ
TALLER
NÉSTOR ALEJANDRO PINZÓN LÓPEZ
INGENIERO Y AUDITOR DE SISTEMAS
CORPORACIÓN UNIFICADA NACIONAL
FACULTAD DE INGENIERÍA SISTEMAS
INGENIERÍA SOFTWARE III
BOGOTÁ
2016
INTRODUCCIÓN
El presente taller tiene como finalidad repasar un elemento fundamental en el diseño de Software
el pertinente a Patrones de Diseño, en cuanto a su concepto, los tipos de diseño, entre otros
conceptos, se complementara con unos ejemplos en relación al proyecto sistema experto de
información para el diagnóstico del estrabismo en niños de 3 a 5 años.
CONTENIDO
INTRODUCCIÓN .......................................................................................................................... 3
1. Que es un Patrón de Diseño? ...................................................................................................... 5
2. Cuáles son los tipos de patrón de diseño .................................................................................... 5
3. Crear un ejemplo de tres de los patrones de diseño .................................................................... 8
PATRONES DE DISEÑO
1. ¿Que es un Patrón de Diseño?
Cada patrón describe la esencia para un problema que ocurre una y otra vez determinada situación,
descrito por la comunicación de entre las clases y objetos, permitiendo tener muchos puntos de
vista, con un diseño diferente cada contexto en particular.
Su finalidad es guardar la experiencia en diseños de programas orientados a objetos y proporcionan
ayuda a la hora de crear objetos desde el punto de vista de proporcionar un apoyo en la toma de
decisiones, incluso cuando esta toma de decisiones sea de forma dinámica.
Gracias a ello, ayudan a estructurar y encapsular estas decisiones. Hay ocasiones en la que nos
encontraremos con que sólo existe un patrón adecuado; otras en las que varios podrán ayudarnos;
y otras en que se pueden combinar múltiples patrones convenientemente.
Un patrón de creación asociado a clases usa la herencia para variar la clase que se instancia,
mientras que un patrón de diseño software de creación asociado a objetos delegará la instanciación
a otro objeto.
2. Cuáles son los tipos de patrón de diseño
Los patrones Singleton
El Problema.
Se solicita generar un historial de los eventos ejecutados por 3 usuarios del sistema, estos eventos
se generan cada vez que alguno de los usuarios presiona un botón determinado de un panel de
opciones, este historial debe contener la fecha y hora de ejecución del evento, además del usuario
y opción presionada.
La Solución.
Como nos piden que se genere un historial de los eventos ejecutados por los usuarios utilizaremos
el patrón Singleton, ya que este historial es general para todos los usuarios del sistema, así
crearemos un punto global para la aplicación que permita ir almacenando cada evento generado
independientemente de quien lo ejecute.
Visto en código Java, sería algo como esto:
public class ClaseLogSingleton {
private String contenido;
/**objeto Singleton*/
private static ClaseLogSingleton miLogSingleton= new ClaseLogSingleton();
private ClaseLogSingleton(){
setContenido("Eventos de Usuarionn") ;
}
/**
* @return the miLogSingleton
*/
public static ClaseLogSingleton getMiLogSingleton() {
return miLogSingleton;
}
/**
* @return the contenido
*/
public String getContenido() {
return contenido;
}
/**
* @param contenido the contenido to set
*/
public void setContenido(String contenido) {
this.contenido = contenido;
}
}
Los patrones Singleton
Complementado con la lectura de las diapositivas en el proyecto en curso, lo usaríamos para
realizar una copia de la foto tomada y pueda tomar dos rutas a la vez, bien sea local o una copia
de la foto para subir al sistema.
3. Crear un ejemplo de tres de los patrones de diseño
Según la experiencia de personas que trabajan en el campo, entre los patrones se pelean las
funcionalidades, pero para el caso y el ejemplo según lo visto de los que más me llamo la atención
fue el de Abstract Factory que consiste en:
Nos encontramos frente a un problema en el que debemos crear diferentes objetos, todos
pertenecientes a la misma familia, como puede ser el sistema de librerías necesarias para crear
interfaces gráficas. Visto esto podríamos decir que lo que intenta solucionar el patrón de diseño
software de creación Abstract Factory es crear diferentes familias de objetos. El patrón Abstract
Factory, por tanto, se recomienda cuando se atisba la inclusión de nuevas familias de productos en
un futuro, pero resultaría contraproducente sí que necesita añadir nuevos productos o modificar
los existentes, ya que tendría repercusión en todas las familias creadas.
Según esto, podemos decir que los componentes típicos del patrón Abstract Factory es la siguiente,
aplicado al proyecto del estrabismo, claro está con correcciones dentro del diseño.
Cliente: Usuario que llamara a un módulo Diagnostico y adecuado para iniciar la prueba y que a
su vez necesita crear uno de los objetos que provee dicha factoría, es decir, intentará obtener una
instancia de alguno de los productos que entren en juego (Fotografía 1= ProductoA, Fotografia 2=
ProductoB).
AbstractFactory: Definición de la interfaz que usarán las diferentes factorías. Como mínimo, debe
ofrecer un método para la obtención de cada objeto que se pueda crear. ("crearProductoA()" y
"crearProductoB()")
Concrete Factories: Aquí se representarán las diferentes familias de productos. Provee la instancia
concreta del objeto que se encarga de crear.
Abstract Product: Definirá las interfaces para la familia de Fotografias. En el diagrama son
Fotografia 1 "ProductoA" y factoría 2 "ProductoB". El cliente trabajará directamente sobre esta
interfaz, que será implementada por los diferentes módulos concretos.
Concrete Product: Se encargará de la implementación específica de los diferentes Modulos.
Taller patrones de  diseño

Más contenido relacionado

La actualidad más candente

Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Estructura modular
Estructura modularEstructura modular
Estructura modularjuan_180
 
Semana 2 tecnicas y lenguajes de trazabilidad
Semana 2 tecnicas y lenguajes de trazabilidadSemana 2 tecnicas y lenguajes de trazabilidad
Semana 2 tecnicas y lenguajes de trazabilidadGiovani Ramirez
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionlongojose
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de PilaPablo Guerra
 
Evaluación a interfaces - Test de usuarios,evaluación heurística y eye-tracking
Evaluación a interfaces - Test de usuarios,evaluación heurística y eye-trackingEvaluación a interfaces - Test de usuarios,evaluación heurística y eye-tracking
Evaluación a interfaces - Test de usuarios,evaluación heurística y eye-trackingPercy Negrete
 
Los Robots Industriales (Power Point)
Los Robots Industriales (Power Point)Los Robots Industriales (Power Point)
Los Robots Industriales (Power Point)guestcef025
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UMLramirezjaime
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrolloHermes Romero
 
Indagación de los requerimientos
Indagación de los requerimientosIndagación de los requerimientos
Indagación de los requerimientosUCATEBA
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Ventajas calidad del software
Ventajas   calidad del softwareVentajas   calidad del software
Ventajas calidad del softwareJhoy Jara
 

La actualidad más candente (20)

Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Estructura modular
Estructura modularEstructura modular
Estructura modular
 
Semana 2 tecnicas y lenguajes de trazabilidad
Semana 2 tecnicas y lenguajes de trazabilidadSemana 2 tecnicas y lenguajes de trazabilidad
Semana 2 tecnicas y lenguajes de trazabilidad
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Modelo Conceptual UML
Modelo Conceptual UMLModelo Conceptual UML
Modelo Conceptual UML
 
Evaluación a interfaces - Test de usuarios,evaluación heurística y eye-tracking
Evaluación a interfaces - Test de usuarios,evaluación heurística y eye-trackingEvaluación a interfaces - Test de usuarios,evaluación heurística y eye-tracking
Evaluación a interfaces - Test de usuarios,evaluación heurística y eye-tracking
 
Los Robots Industriales (Power Point)
Los Robots Industriales (Power Point)Los Robots Industriales (Power Point)
Los Robots Industriales (Power Point)
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Emulador 8086.
Emulador 8086.Emulador 8086.
Emulador 8086.
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
Arquitectura centralizada
Arquitectura centralizadaArquitectura centralizada
Arquitectura centralizada
 
Indagación de los requerimientos
Indagación de los requerimientosIndagación de los requerimientos
Indagación de los requerimientos
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Ventajas calidad del software
Ventajas   calidad del softwareVentajas   calidad del software
Ventajas calidad del software
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 

Similar a Taller patrones de diseño

Interfaz de uusario cintya alban
Interfaz de uusario cintya albanInterfaz de uusario cintya alban
Interfaz de uusario cintya albanDavid Casanova
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Vicente Gerardo Guzman Lucio
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010Omar Rios
 
Modelo de prototipo
Modelo de prototipoModelo de prototipo
Modelo de prototipoyanezcabrera
 
Patrones de-diseño-mañana
Patrones de-diseño-mañanaPatrones de-diseño-mañana
Patrones de-diseño-mañanaale abad aguilar
 
Ficha 1- Primeros pasos.pdf
Ficha 1- Primeros pasos.pdfFicha 1- Primeros pasos.pdf
Ficha 1- Primeros pasos.pdfpitagorico64
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfacesFahyr
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamientoJuan Camilo
 
Msdn Webcast InyeccióN De Dependencias Con Spring Framework
Msdn Webcast   InyeccióN De Dependencias Con Spring FrameworkMsdn Webcast   InyeccióN De Dependencias Con Spring Framework
Msdn Webcast InyeccióN De Dependencias Con Spring FrameworkGabriel Oliva
 
TECNOLOGÍA INDUSTRIAL II, 2º BACH, SISTEMAS AUTOMÁTICOS
TECNOLOGÍA INDUSTRIAL II, 2º BACH, SISTEMAS AUTOMÁTICOSTECNOLOGÍA INDUSTRIAL II, 2º BACH, SISTEMAS AUTOMÁTICOS
TECNOLOGÍA INDUSTRIAL II, 2º BACH, SISTEMAS AUTOMÁTICOSCarlosCastrilloPrez
 
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
 
PROYECTO DE PRODUCCIÓN INDUSTRIAL III.pptx
PROYECTO DE PRODUCCIÓN INDUSTRIAL III.pptxPROYECTO DE PRODUCCIÓN INDUSTRIAL III.pptx
PROYECTO DE PRODUCCIÓN INDUSTRIAL III.pptxLuisJavierLpezMaese
 
Programacion grafica simulab programa .pptx
Programacion grafica simulab programa .pptxProgramacion grafica simulab programa .pptx
Programacion grafica simulab programa .pptxefiallos30
 

Similar a Taller patrones de diseño (20)

Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
Abstract factory
Abstract factoryAbstract factory
Abstract factory
 
Patrones de Diseño: Prototype
Patrones de Diseño: PrototypePatrones de Diseño: Prototype
Patrones de Diseño: Prototype
 
Interfaz de uusario cintya alban
Interfaz de uusario cintya albanInterfaz de uusario cintya alban
Interfaz de uusario cintya alban
 
Mp.exp.2.330152
Mp.exp.2.330152Mp.exp.2.330152
Mp.exp.2.330152
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#
 
Presentacion Patrones Creacionales
Presentacion Patrones CreacionalesPresentacion Patrones Creacionales
Presentacion Patrones Creacionales
 
Clase numero 6
Clase numero 6Clase numero 6
Clase numero 6
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Modelo de prototipo
Modelo de prototipoModelo de prototipo
Modelo de prototipo
 
Patrones de-diseño-mañana
Patrones de-diseño-mañanaPatrones de-diseño-mañana
Patrones de-diseño-mañana
 
Ficha 1- Primeros pasos.pdf
Ficha 1- Primeros pasos.pdfFicha 1- Primeros pasos.pdf
Ficha 1- Primeros pasos.pdf
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfaces
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamiento
 
Manual en Español De Software Flexsim
Manual en Español De Software FlexsimManual en Español De Software Flexsim
Manual en Español De Software Flexsim
 
Msdn Webcast InyeccióN De Dependencias Con Spring Framework
Msdn Webcast   InyeccióN De Dependencias Con Spring FrameworkMsdn Webcast   InyeccióN De Dependencias Con Spring Framework
Msdn Webcast InyeccióN De Dependencias Con Spring Framework
 
TECNOLOGÍA INDUSTRIAL II, 2º BACH, SISTEMAS AUTOMÁTICOS
TECNOLOGÍA INDUSTRIAL II, 2º BACH, SISTEMAS AUTOMÁTICOSTECNOLOGÍA INDUSTRIAL II, 2º BACH, SISTEMAS AUTOMÁTICOS
TECNOLOGÍA INDUSTRIAL II, 2º BACH, SISTEMAS AUTOMÁTICOS
 
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
 
PROYECTO DE PRODUCCIÓN INDUSTRIAL III.pptx
PROYECTO DE PRODUCCIÓN INDUSTRIAL III.pptxPROYECTO DE PRODUCCIÓN INDUSTRIAL III.pptx
PROYECTO DE PRODUCCIÓN INDUSTRIAL III.pptx
 
Programacion grafica simulab programa .pptx
Programacion grafica simulab programa .pptxProgramacion grafica simulab programa .pptx
Programacion grafica simulab programa .pptx
 

Último

Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 

Último (20)

Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 

Taller patrones de diseño

  • 1. PATRONES DE DISEÑO ARBEY TOVAR ÁLVAREZ CORPORACIÓN UNIFICADA NACIONAL FACULTAD DE INGENIERÍA SISTEMAS INGENIERÍA DEL SOFTWARE III BOGOTÁ 2016
  • 2. PATRONES DE DISEÑO ARBEY TOVAR ÁLVAREZ TALLER NÉSTOR ALEJANDRO PINZÓN LÓPEZ INGENIERO Y AUDITOR DE SISTEMAS CORPORACIÓN UNIFICADA NACIONAL FACULTAD DE INGENIERÍA SISTEMAS INGENIERÍA SOFTWARE III BOGOTÁ 2016
  • 3. INTRODUCCIÓN El presente taller tiene como finalidad repasar un elemento fundamental en el diseño de Software el pertinente a Patrones de Diseño, en cuanto a su concepto, los tipos de diseño, entre otros conceptos, se complementara con unos ejemplos en relación al proyecto sistema experto de información para el diagnóstico del estrabismo en niños de 3 a 5 años.
  • 4. CONTENIDO INTRODUCCIÓN .......................................................................................................................... 3 1. Que es un Patrón de Diseño? ...................................................................................................... 5 2. Cuáles son los tipos de patrón de diseño .................................................................................... 5 3. Crear un ejemplo de tres de los patrones de diseño .................................................................... 8
  • 5. PATRONES DE DISEÑO 1. ¿Que es un Patrón de Diseño? Cada patrón describe la esencia para un problema que ocurre una y otra vez determinada situación, descrito por la comunicación de entre las clases y objetos, permitiendo tener muchos puntos de vista, con un diseño diferente cada contexto en particular. Su finalidad es guardar la experiencia en diseños de programas orientados a objetos y proporcionan ayuda a la hora de crear objetos desde el punto de vista de proporcionar un apoyo en la toma de decisiones, incluso cuando esta toma de decisiones sea de forma dinámica. Gracias a ello, ayudan a estructurar y encapsular estas decisiones. Hay ocasiones en la que nos encontraremos con que sólo existe un patrón adecuado; otras en las que varios podrán ayudarnos; y otras en que se pueden combinar múltiples patrones convenientemente. Un patrón de creación asociado a clases usa la herencia para variar la clase que se instancia, mientras que un patrón de diseño software de creación asociado a objetos delegará la instanciación a otro objeto. 2. Cuáles son los tipos de patrón de diseño Los patrones Singleton
  • 6. El Problema. Se solicita generar un historial de los eventos ejecutados por 3 usuarios del sistema, estos eventos se generan cada vez que alguno de los usuarios presiona un botón determinado de un panel de opciones, este historial debe contener la fecha y hora de ejecución del evento, además del usuario y opción presionada. La Solución. Como nos piden que se genere un historial de los eventos ejecutados por los usuarios utilizaremos el patrón Singleton, ya que este historial es general para todos los usuarios del sistema, así crearemos un punto global para la aplicación que permita ir almacenando cada evento generado independientemente de quien lo ejecute. Visto en código Java, sería algo como esto: public class ClaseLogSingleton { private String contenido; /**objeto Singleton*/ private static ClaseLogSingleton miLogSingleton= new ClaseLogSingleton(); private ClaseLogSingleton(){ setContenido("Eventos de Usuarionn") ; } /** * @return the miLogSingleton */ public static ClaseLogSingleton getMiLogSingleton() { return miLogSingleton; } /** * @return the contenido */ public String getContenido() {
  • 7. return contenido; } /** * @param contenido the contenido to set */ public void setContenido(String contenido) { this.contenido = contenido; } } Los patrones Singleton Complementado con la lectura de las diapositivas en el proyecto en curso, lo usaríamos para realizar una copia de la foto tomada y pueda tomar dos rutas a la vez, bien sea local o una copia de la foto para subir al sistema.
  • 8. 3. Crear un ejemplo de tres de los patrones de diseño Según la experiencia de personas que trabajan en el campo, entre los patrones se pelean las funcionalidades, pero para el caso y el ejemplo según lo visto de los que más me llamo la atención fue el de Abstract Factory que consiste en: Nos encontramos frente a un problema en el que debemos crear diferentes objetos, todos pertenecientes a la misma familia, como puede ser el sistema de librerías necesarias para crear interfaces gráficas. Visto esto podríamos decir que lo que intenta solucionar el patrón de diseño software de creación Abstract Factory es crear diferentes familias de objetos. El patrón Abstract Factory, por tanto, se recomienda cuando se atisba la inclusión de nuevas familias de productos en un futuro, pero resultaría contraproducente sí que necesita añadir nuevos productos o modificar los existentes, ya que tendría repercusión en todas las familias creadas.
  • 9. Según esto, podemos decir que los componentes típicos del patrón Abstract Factory es la siguiente, aplicado al proyecto del estrabismo, claro está con correcciones dentro del diseño. Cliente: Usuario que llamara a un módulo Diagnostico y adecuado para iniciar la prueba y que a su vez necesita crear uno de los objetos que provee dicha factoría, es decir, intentará obtener una instancia de alguno de los productos que entren en juego (Fotografía 1= ProductoA, Fotografia 2= ProductoB). AbstractFactory: Definición de la interfaz que usarán las diferentes factorías. Como mínimo, debe ofrecer un método para la obtención de cada objeto que se pueda crear. ("crearProductoA()" y "crearProductoB()") Concrete Factories: Aquí se representarán las diferentes familias de productos. Provee la instancia concreta del objeto que se encarga de crear. Abstract Product: Definirá las interfaces para la familia de Fotografias. En el diagrama son Fotografia 1 "ProductoA" y factoría 2 "ProductoB". El cliente trabajará directamente sobre esta interfaz, que será implementada por los diferentes módulos concretos. Concrete Product: Se encargará de la implementación específica de los diferentes Modulos.