SlideShare una empresa de Scribd logo
1 de 18
Patrones de diseño http://www.javacamp.org/designPattern/
Para quesirven? Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.
Tiposde patrones Existen varios tipos de patrones, pero estos son los 3 mas importantes, en el cual se derivan los patrones de diseno. Patrones de Creacion: Abstract Factory. Proporciona una interfaz para crear familias de objetos o que dependen entre sí, sin especificar sus clases concretas. Builder. Separa la construcción de un objeto complejo de su representación, de forma que el mismo proceso de construcción pueda crear diferentes representaciones. Factory Method. Define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan qué clase instanciar. Permite que una clase delegue en sus subclases la creación de objetos. Prototype. Especifica los tipos de objetos a crear por medio de una instancia prototípica, y crear nuevos objetos copiando este prototipo. Singleton. Garantiza que una clase sólo tenga una instancia, y proporciona un punto de acceso global a ella.
Patrones estructurales: Adapter. Convierte la interfaz de una clase en otra distinta que es la que esperan los clientes. Permiten que cooperen clases que de otra manera no podrían por tener interfaces incompatibles. Bridge. Desvincula una abstracción de su implementación, de manera que ambas puedan variar de forma independiente. Composite. Combina objetos en estructuras de árbol para representar jerarquías de parte-todo. Permite que los clientes traten de manera uniforme a los objetos individuales y a los compuestos. Decorator. Añade dinámicamente nuevas responsabilidades a un objeto, proporcionando una alternativa flexible a la herencia para extender la funcionalidad. Facade. Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema. Define una interfaz de alto nivel que hace que el subsistema se más fácil de usar. Flyweight. Usa el compartimiento para permitir un gran número de objetos de grano fino de forma eficiente. Proxy. Proporciona un sustituto o representante de otro objeto para controlar el acceso a éste.
Patrones de comportamiento Chainof Responsibility. Evita acoplar el emisor de una petición a su receptor, al dar a más de un objeto la posibilidad de responder a la petición. Crea una cadena con los objetos receptores y pasa la petición a través de la cadena hasta que esta sea tratada por algún objeto. Command. Encapsula una petición en un objeto, permitiendo así parametrizar a los clientes con distintas peticiones, encolar o llevar un registro de las peticiones y poder deshacer la operaciones. Interpreter. Dado un lenguaje, define una representación de su gramática junto con un intérprete que usa dicha representación para interpretar las sentencias del lenguaje. Iterator. Proporciona un modo de acceder secuencialmente a los elementos de un objeto agregado sin exponer su representación interna.
Singleton Singleton es un patron de diseño se encarga de que solo unainstancia de clase sea creada, esto da un punto de acceso global al objeto y permiteinstancias multiples sin afectar la clase de clientes con el singleton. Para asegurarque solo unainstanciaescreadacreamosPatronSingletoncomo static. El metodogetInstance() devuelveuna sola instancia de clase. Unarazonpor la que se puedeusareste patron de diseño es en la clase de Ingresar, en este caso Singleton se puede usar en ves de una sola instancia en la clase, por que en el momento de ingresar , ya que esta clase suele usarse muchas veces en cualquier proyecto.  El hecho de ingresar, es un caso aceptable en el Singleton por que no afecta la ejecucion del codigo, ya que si quitas este tipo de clase no afecta tu propio codigo.
Codigo
Respuesta
Builder Este patron de disenose enfoca en construir un objeto complejo paso por paso, o bien parte por parte. Lo que difiere del patronAbstract Factory se enfatiza en una familia de objetos ya sea simple o compleja. Builder devuelve el producto como paso final, y Abstract Factory devuelve el producto inmediatamente.
Codigo
Iterator Define una interfaz que declara los métodos necesarios para acceder secuencialmente a un grupo de objetos de una colección. Algunos de los métodos que podemos definir en la interfaz Iterador son: Primero(), Siguiente(), HayMas() y ElementoActual()Este patrón de diseño permite recorrer una estructura de datos sin que sea necesario conocer la estructura interna de la misma. El patrón Iterador es un mecanismo de acceso a los elementos que constituyen una estructura de datos para la utilización de estos sin exponer su estructura interna.
Codigo
Decorator El patrondecorator responde a la necesidad de añadir dinámicamente funcionalidad a un Objeto. Esto nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera. Supongamos que tenemos una clase existente Ventana y queremos añadirle funcionalidad para que muestre un borde alrededor. Podemos crear una subclase VentanaConBorde que herede de Ventana. Hasta aquí todo bien, pero supongamos que surge la necesidad de crear una ventana que muestre un pequeño botón de ayuda con un signo de interrogación (?) en su parte superior. Entonces tenemos las siguientes opciones: Crear otra subclase de Ventana: VentanaConBotónDeAyuda. Problema: No cubre la necesidad de tener ventanas con bordes y botón de ayuda a la vez. Crear una subclase de VentanaConBorde: VentanaConBordeYBotonDeAyuda. Problema: No tenemos una ventana con botón de ayuda y sin borde. Crear clases para todas las combinaciones posibles de funcionalidades.
Patrones
Patrones

Más contenido relacionado

La actualidad más candente

Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo2008PA2Info3
 
Implementación y adaptación de patrones de diseño
Implementación y adaptación de patrones de diseñoImplementación y adaptación de patrones de diseño
Implementación y adaptación de patrones de diseñoJu Pe
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de softwareEsteban Espinel
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoKelly Cuervo
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creaciónAutentia
 
Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Ozzy Bull
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoaleja0940
 
Buider Patron de Diseño
Buider Patron de DiseñoBuider Patron de Diseño
Buider Patron de DiseñoMario Cabrera
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1bchrmz
 
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 y frameworks
Patrones de diseño y frameworksPatrones de diseño y frameworks
Patrones de diseño y frameworksDaniel Cam Urquizo
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamientoJuan Camilo
 
Taller patrones de diseño
Taller patrones de  diseñoTaller patrones de  diseño
Taller patrones de diseñotovar1982
 
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
 

La actualidad más candente (20)

Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
 
Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
Implementación y adaptación de patrones de diseño
Implementación y adaptación de patrones de diseñoImplementación y adaptación de patrones de diseño
Implementación y adaptación de patrones de diseño
 
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
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creación
 
Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Buider Patron de Diseño
Buider Patron de DiseñoBuider Patron de Diseño
Buider Patron de Diseño
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
 
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 y frameworks
Patrones de diseño y frameworksPatrones de diseño y frameworks
Patrones de diseño y frameworks
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamiento
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Taller patrones de diseño
Taller patrones de  diseñoTaller patrones de  diseño
Taller patrones de diseño
 
Patron fachada...
Patron fachada...Patron fachada...
Patron fachada...
 
Abstract factory
Abstract factoryAbstract factory
Abstract factory
 
Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
Patrones de-diseño-mañana
Patrones de-diseño-mañanaPatrones de-diseño-mañana
Patrones de-diseño-mañana
 

Destacado

Presentación1
Presentación1Presentación1
Presentación1htinajero
 
Especificación técnica Perfecta
Especificación técnica PerfectaEspecificación técnica Perfecta
Especificación técnica Perfectahtinajero
 
Especificación técnica
Especificación técnicaEspecificación técnica
Especificación técnicahtinajero
 
Presentacion diagramas uml
Presentacion diagramas umlPresentacion diagramas uml
Presentacion diagramas umlhtinajero
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016Andrew Chen
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
 

Destacado (6)

Presentación1
Presentación1Presentación1
Presentación1
 
Especificación técnica Perfecta
Especificación técnica PerfectaEspecificación técnica Perfecta
Especificación técnica Perfecta
 
Especificación técnica
Especificación técnicaEspecificación técnica
Especificación técnica
 
Presentacion diagramas uml
Presentacion diagramas umlPresentacion diagramas uml
Presentacion diagramas uml
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Similar a Patrones

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
 
Patronesdediseo 160927143256 (1)
Patronesdediseo 160927143256 (1)Patronesdediseo 160927143256 (1)
Patronesdediseo 160927143256 (1)ale abad aguilar
 
Abstract factory. presentación
Abstract factory. presentaciónAbstract factory. presentación
Abstract factory. presentaciónavidal020
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 
Monografia patrones de diseño proxy (3.0)
Monografia   patrones de diseño proxy (3.0)Monografia   patrones de diseño proxy (3.0)
Monografia patrones de diseño proxy (3.0)finger10
 
Patrones De DiseñO
Patrones De DiseñOPatrones De DiseñO
Patrones De DiseñOgueste39de6
 
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
 
Tarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdfTarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdfBrimmerRamrez
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoJuanes Alzt
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patronesMarvin Zumbado
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 

Similar a Patrones (20)

Patron de diseño
Patron de diseñoPatron de diseño
Patron de diseño
 
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
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
INFOGRAFIA.pdf
INFOGRAFIA.pdfINFOGRAFIA.pdf
INFOGRAFIA.pdf
 
Transparencias_Patrones.ppt
Transparencias_Patrones.pptTransparencias_Patrones.ppt
Transparencias_Patrones.ppt
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Patronesdediseo 160927143256 (1)
Patronesdediseo 160927143256 (1)Patronesdediseo 160927143256 (1)
Patronesdediseo 160927143256 (1)
 
Abstract factory. presentación
Abstract factory. presentaciónAbstract factory. presentación
Abstract factory. presentación
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Monografia patrones de diseño proxy (3.0)
Monografia   patrones de diseño proxy (3.0)Monografia   patrones de diseño proxy (3.0)
Monografia patrones de diseño proxy (3.0)
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Patrones De DiseñO
Patrones De DiseñOPatrones De DiseñO
Patrones De DiseñO
 
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
 
Tarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdfTarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdf
 
Apendice general 4
Apendice general 4Apendice general 4
Apendice general 4
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 

Último

DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREdianayarelii17
 
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptxCORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptxJOHUANYQUISPESAEZ
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfaldonaim115
 
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...TaniaCruzInga
 
EL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de socialesEL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de socialeszaidylisbethnarvaezm
 
Contabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contableContabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contableThairyAndreinaLira1
 
liderazgo guia.pdf.............................
liderazgo guia.pdf.............................liderazgo guia.pdf.............................
liderazgo guia.pdf.............................MIGUELANGELLEGUIAGUZ
 
GUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxGUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxAmyKleisinger
 
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdfComparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdfAJYSCORP
 
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADADECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADAgordonruizsteffy
 
Distribuciones de frecuencia cuarto semestre
Distribuciones de frecuencia cuarto semestreDistribuciones de frecuencia cuarto semestre
Distribuciones de frecuencia cuarto semestreAndresUseda3
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...BaleriaMaldonado1
 
Empresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoEmpresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoPsicoterapia Holística
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesElizabeth152261
 
Correcion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptxCorrecion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptxHARLYJHANSELCHAVEZVE
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industralmaria diaz
 
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptxHIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptxTecvalSAS2
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxmarlonrea6
 
DIAPOSITIVAS LIDERAZGO Y GESTION INTERGENERACION (3).pptx
DIAPOSITIVAS LIDERAZGO Y GESTION INTERGENERACION (3).pptxDIAPOSITIVAS LIDERAZGO Y GESTION INTERGENERACION (3).pptx
DIAPOSITIVAS LIDERAZGO Y GESTION INTERGENERACION (3).pptx7500222160
 
4 Tipos de Empresa Sociedad colectiva.pptx
4 Tipos de Empresa Sociedad colectiva.pptx4 Tipos de Empresa Sociedad colectiva.pptx
4 Tipos de Empresa Sociedad colectiva.pptxRicardo113759
 

Último (20)

DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
 
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptxCORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdf
 
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
 
EL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de socialesEL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de sociales
 
Contabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contableContabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contable
 
liderazgo guia.pdf.............................
liderazgo guia.pdf.............................liderazgo guia.pdf.............................
liderazgo guia.pdf.............................
 
GUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxGUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docx
 
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdfComparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
 
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADADECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
 
Distribuciones de frecuencia cuarto semestre
Distribuciones de frecuencia cuarto semestreDistribuciones de frecuencia cuarto semestre
Distribuciones de frecuencia cuarto semestre
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
 
Empresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoEmpresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercado
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformes
 
Correcion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptxCorrecion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptx
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industral
 
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptxHIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
 
DIAPOSITIVAS LIDERAZGO Y GESTION INTERGENERACION (3).pptx
DIAPOSITIVAS LIDERAZGO Y GESTION INTERGENERACION (3).pptxDIAPOSITIVAS LIDERAZGO Y GESTION INTERGENERACION (3).pptx
DIAPOSITIVAS LIDERAZGO Y GESTION INTERGENERACION (3).pptx
 
4 Tipos de Empresa Sociedad colectiva.pptx
4 Tipos de Empresa Sociedad colectiva.pptx4 Tipos de Empresa Sociedad colectiva.pptx
4 Tipos de Empresa Sociedad colectiva.pptx
 

Patrones

  • 1. Patrones de diseño http://www.javacamp.org/designPattern/
  • 2. Para quesirven? Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.
  • 3. Tiposde patrones Existen varios tipos de patrones, pero estos son los 3 mas importantes, en el cual se derivan los patrones de diseno. Patrones de Creacion: Abstract Factory. Proporciona una interfaz para crear familias de objetos o que dependen entre sí, sin especificar sus clases concretas. Builder. Separa la construcción de un objeto complejo de su representación, de forma que el mismo proceso de construcción pueda crear diferentes representaciones. Factory Method. Define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan qué clase instanciar. Permite que una clase delegue en sus subclases la creación de objetos. Prototype. Especifica los tipos de objetos a crear por medio de una instancia prototípica, y crear nuevos objetos copiando este prototipo. Singleton. Garantiza que una clase sólo tenga una instancia, y proporciona un punto de acceso global a ella.
  • 4. Patrones estructurales: Adapter. Convierte la interfaz de una clase en otra distinta que es la que esperan los clientes. Permiten que cooperen clases que de otra manera no podrían por tener interfaces incompatibles. Bridge. Desvincula una abstracción de su implementación, de manera que ambas puedan variar de forma independiente. Composite. Combina objetos en estructuras de árbol para representar jerarquías de parte-todo. Permite que los clientes traten de manera uniforme a los objetos individuales y a los compuestos. Decorator. Añade dinámicamente nuevas responsabilidades a un objeto, proporcionando una alternativa flexible a la herencia para extender la funcionalidad. Facade. Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema. Define una interfaz de alto nivel que hace que el subsistema se más fácil de usar. Flyweight. Usa el compartimiento para permitir un gran número de objetos de grano fino de forma eficiente. Proxy. Proporciona un sustituto o representante de otro objeto para controlar el acceso a éste.
  • 5. Patrones de comportamiento Chainof Responsibility. Evita acoplar el emisor de una petición a su receptor, al dar a más de un objeto la posibilidad de responder a la petición. Crea una cadena con los objetos receptores y pasa la petición a través de la cadena hasta que esta sea tratada por algún objeto. Command. Encapsula una petición en un objeto, permitiendo así parametrizar a los clientes con distintas peticiones, encolar o llevar un registro de las peticiones y poder deshacer la operaciones. Interpreter. Dado un lenguaje, define una representación de su gramática junto con un intérprete que usa dicha representación para interpretar las sentencias del lenguaje. Iterator. Proporciona un modo de acceder secuencialmente a los elementos de un objeto agregado sin exponer su representación interna.
  • 6. Singleton Singleton es un patron de diseño se encarga de que solo unainstancia de clase sea creada, esto da un punto de acceso global al objeto y permiteinstancias multiples sin afectar la clase de clientes con el singleton. Para asegurarque solo unainstanciaescreadacreamosPatronSingletoncomo static. El metodogetInstance() devuelveuna sola instancia de clase. Unarazonpor la que se puedeusareste patron de diseño es en la clase de Ingresar, en este caso Singleton se puede usar en ves de una sola instancia en la clase, por que en el momento de ingresar , ya que esta clase suele usarse muchas veces en cualquier proyecto. El hecho de ingresar, es un caso aceptable en el Singleton por que no afecta la ejecucion del codigo, ya que si quitas este tipo de clase no afecta tu propio codigo.
  • 9. Builder Este patron de disenose enfoca en construir un objeto complejo paso por paso, o bien parte por parte. Lo que difiere del patronAbstract Factory se enfatiza en una familia de objetos ya sea simple o compleja. Builder devuelve el producto como paso final, y Abstract Factory devuelve el producto inmediatamente.
  • 11.
  • 12.
  • 13. Iterator Define una interfaz que declara los métodos necesarios para acceder secuencialmente a un grupo de objetos de una colección. Algunos de los métodos que podemos definir en la interfaz Iterador son: Primero(), Siguiente(), HayMas() y ElementoActual()Este patrón de diseño permite recorrer una estructura de datos sin que sea necesario conocer la estructura interna de la misma. El patrón Iterador es un mecanismo de acceso a los elementos que constituyen una estructura de datos para la utilización de estos sin exponer su estructura interna.
  • 15.
  • 16. Decorator El patrondecorator responde a la necesidad de añadir dinámicamente funcionalidad a un Objeto. Esto nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera. Supongamos que tenemos una clase existente Ventana y queremos añadirle funcionalidad para que muestre un borde alrededor. Podemos crear una subclase VentanaConBorde que herede de Ventana. Hasta aquí todo bien, pero supongamos que surge la necesidad de crear una ventana que muestre un pequeño botón de ayuda con un signo de interrogación (?) en su parte superior. Entonces tenemos las siguientes opciones: Crear otra subclase de Ventana: VentanaConBotónDeAyuda. Problema: No cubre la necesidad de tener ventanas con bordes y botón de ayuda a la vez. Crear una subclase de VentanaConBorde: VentanaConBordeYBotonDeAyuda. Problema: No tenemos una ventana con botón de ayuda y sin borde. Crear clases para todas las combinaciones posibles de funcionalidades.