SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Arquitectura de Aplicaciones

         Germania Rodríguez
        grrodriguez@utpl.edu.ec
Patrones de Diseño
•  Introducción
  – La construcción de software – tarea
    complicada
  – Depende de la experiencia de las personas
    - desarrolladores
  – El 80% de los aportes viene del 20% del
    personal
  – El 80% del esfuerzo está en el 20% del
    código desarrollado
Patrones de Diseño


Objetivo REUTILIZACIÓN
Patrones de Diseño

•  Mecanismos de reutilización
  – Componentes
  – Frameworks
  – Objetos distribuidos
  – PATRONES DE DISEÑO
Patrones de Diseño

“Cada patrón describe un problema que
  ocurre una y otra vez en nuestro entorno,
  para describir después el núcleo de la
  solución a ese problema, de tal manera
  que esa solución pueda ser usada más de
  un millón de veces sin hacerlo siquiera dos
  veces de la misma forma” - Christopher
  Alexander
Patrones de Diseño
•  Objetivo: crear un lenguaje común a
   una comunidad de desarrolladores para
   comunicar experiencia sobre los
   problemas y sus soluciones
Patrones de Diseño
•  Características
  –  Solucionar un problema
  –  Ser un concepto probado
  –  La solución no es obvia
  –  Describe participantes y sus relaciones
Patrones de Diseño
•  Elementos
  1.    El nombre del patrón
  2.    El problema
  3.    La solución
  4.    Las consecuencias - resultados
Patrones de Diseño
•  Clasificación
                                           Propósito
Ámbito
                 Patrones de               Patrones         Patrones de
                  Creación               estructurales    Comportamiento
 Clase      •     Factory Method    •    Adapter (de     •    Interpreter
                                         clases)         •    Template Method

 Objeto    •     Abstract Factory   •    Adapter (de     •  Chain of
           •     Builder                 objetos)        Responsibility
           •     Prototype          •    Bridge          •  Command
           •     Singleton          •    Composite       •  Iterator
                                    •    Decorator       •  Mediator
                                    •    Facade          •  Memento
                                    •    Flyweight       •  Observer
                                    •    Proxy           •  State
                                                         •  Strategy
                                                         •  Visitor
Patrones de Diseño
                     PATRONES DE CREACIÓN
Su propósito principal es abstraer el proceso de creación de instancias.
Ayudan a hacer un sistema independiente de cómo se crean, se componen y
se representan sus objetos - Un patrón de clases usa la herencia para cambiar
la clase de la instancia a crear, mientras que un patrón de objetos delega la
creación de la instancia en otro objeto. Éstos a su vez se clasifican en:
     Fabrica Abstracta (Abstract Factory)
          Proporciona una interfaz para crear familias de objetos o que
          dependen entre sí, sin especificar sus clases concretas.
     Constructor (Builder)
          Separa la construcción de un objeto de su representación.
     Método de Fábrica (Factory Method)
          Define una interfaz para crear un objeto.
     Prototipo (Prototype)
          Especifica los tipos de objetos a crear por medio de una instancia
          prototípica y crea nuevos objetos copiando dicho prototipo.
     Instancia única (Singleton)
          Garantiza que una clase solo tenga una instancia
Patrones de Diseño
                    PATRONES ESTRUCTURALES
Se ocupan de cómo se combinan las clases y los objetos para formar estructuras
más grandes - Los patrones estructurales de clases hacen uso de la herencia para
componer interfaces o implementaciones. En éste tipo de patrones se encuentran:
    Adaptador (Adapter)
         Convierte la interfaz de una clase en otra interfaz que es la que esperan
         los clientes.
    Puente (Bridge)
         Desacopla una abstracción de su implementación
    Compuesto (Composite)
         Compone objetos en estructuras de árbol para representar jerarquías de
         parte-todo.
    Decorador (Decorator)
         Asigna responsabilidades adicionales a un objeto dinámicamente
    Fachada (Facade)
         Proporciona una interfaz unificada para un conjunto de interfaces de un
         subsistema.
    Peso ligero (Flyweight)
         Una instancia de grano fino usada para compartir eficientemente
    Apoderado (Proxy)
         Un objeto representando otro objeto
Patrones de Diseño
                 PATRONES DE COMPORTAMIENTO
Tienen que ver con algoritmos y con la asignación de responsabilidades a objetos.
Describen no solo patrones de clases y objetos, sino también patrones de
comunicación entre ellos.
     Cadena de responsabilidad (Chain of responsibility)
          Encadena los objetos receptores y pasa la petición a través de la cadena
          hasta que es procesada por algún objeto.
     Orden (Command)
          Encapsula una petición orden como un objeto.
     Interprete (Interpreter)
           Define una forma para incluir elementos de lenguaje en un programa
     Iterador (Iterator)
          Proporciona un modo secuencial para acceder a los elementos de una
          colección
     Mediador (Mediator)
          Define comunicación simplificada entre clases
     Recuerdo (Memento)
          Captura y restaura el estado interno de un objeto.
Patrones de Diseño
            PATRONES DE COMPORTAMIENTO
Observador (Observer)
     Define una dependencia de uno a muchos entre objetos
Estado (State)
     Permite que un objeto modifique su comportamiento cada vez que
     cambie su estado interno.
Estrategia (Strategy)
     Define una familia de algoritmos, encapsula cada uno de ellos y los hace
     intercambiables.
Método Plantilla (Template method)
     Define en una operación el esqueleto de un algoritmo, delegando en las
     subclases algunos de sus pasos.
Visitante (Visitor)
     Representa una operación sobre los elementos de una estructura de
     objetos.
Patrones de Diseño
•  ¿Cómo seleccionar un patrón de
   diseño?
 •    Tipo de problema a resolver
 •    Que tipos de problemas solucionan un patrón determinado
 •    Observar las interrelaciones de los patrones
 •    Visión sistémica (todo)
 •    Piense que debería ser variable en su diseño.
Patrones de Diseño
•  ¿Cómo usar un patrón de diseño?
  •  Familiarizarse con el Patrón: estructura, participantes y
     colaboraciones.
  •  Examine algunos ejemplos de su codificación
  •  Elija nombres significativos en el contexto de la aplicación
  •  Defina las clases
  •  Defina nombres especificos de la aplicación para las
     operaciones del patrón
  •  Implemente las operaciones para llevar a cabo las
     responsabilidades y colaboraciones del patrón.
Patrones de Diseño
•  Patrones y Frameworks
  – L o s p a t r o n e s d e d i s e ñ o s o n m á s
    abstractos que los frameworks
  – Los patrones de diseño son elementos
    arquitectónicos más pequeños que los
    frameworks
  – Los patrones están menos especializados
    que los framework
Bibliografía
•  Gamma E., Helm R., Johnson R., Vlissides J., Patrones de
   diseño: Elementos de software orientado a objetos reutilizable,
   Pearson Education S.A., Madrid 2003.
•  C a l d e r o n J . , S i s t e m a s I V , h t t p : / / w w w. s l i d e s h a r e . n e t /
   videoconferencias/sistemas-iv, UTPL 2007

Contenu connexe

Tendances

Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoFYaskelly Yedra
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareJesús Navarro
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Jose R. Hilera
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
 
Modelo Entidad - Relacion
Modelo Entidad - RelacionModelo Entidad - Relacion
Modelo Entidad - Relaciondrakul09
 
Tsp (Team Software Process )
Tsp (Team Software Process )Tsp (Team Software Process )
Tsp (Team Software Process )silviachmn
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del softwareaagalvisg
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 

Tendances (20)

Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Administrador de Tabla de Símbolos
Administrador de Tabla de SímbolosAdministrador de Tabla de Símbolos
Administrador de Tabla de Símbolos
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de software
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Modelo Entidad - Relacion
Modelo Entidad - RelacionModelo Entidad - Relacion
Modelo Entidad - Relacion
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Tsp (Team Software Process )
Tsp (Team Software Process )Tsp (Team Software Process )
Tsp (Team Software Process )
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Pruebas del Software
Pruebas del SoftwarePruebas del Software
Pruebas del Software
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
UML
UMLUML
UML
 

En vedette

Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de softwareIker Canarias
 
Introducción a los Patrones de diseño de software
Introducción a los Patrones de diseño de softwareIntroducción a los Patrones de diseño de software
Introducción a los Patrones de diseño de softwareYazmin RuBo
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño Ikaolong
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructuralesJuan Camilo
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Emprendimiento Tecnológico
Emprendimiento TecnológicoEmprendimiento Tecnológico
Emprendimiento TecnológicoArturo Garrido
 
Mada metodología ágil de desarrollo de apis
Mada   metodología ágil de desarrollo de apisMada   metodología ágil de desarrollo de apis
Mada metodología ágil de desarrollo de apisCloudAppi
 
Definición de apis con swagger
Definición de apis con swaggerDefinición de apis con swagger
Definición de apis con swaggerj_copete
 
Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?Abimael Desales López
 
Conceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOAConceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOAAbimael Desales López
 
Patrones de diseño en POO
Patrones de diseño en POOPatrones de diseño en POO
Patrones de diseño en POOEl Taller Web
 
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
 
Artesanos de software: El uso e implementación de patrones de diseño en siste...
Artesanos de software: El uso e implementación de patrones de diseño en siste...Artesanos de software: El uso e implementación de patrones de diseño en siste...
Artesanos de software: El uso e implementación de patrones de diseño en siste...Software Guru
 
patrones de diseño web.
  patrones de diseño web.   patrones de diseño web.
patrones de diseño web. Diana Luna
 

En vedette (20)

Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Introducción a los Patrones de diseño de software
Introducción a los Patrones de diseño de softwareIntroducción a los Patrones de diseño de software
Introducción a los Patrones de diseño de software
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructurales
 
Patrones diseño de software
Patrones diseño de softwarePatrones diseño de software
Patrones diseño de software
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Presentacion Patrones Creacionales
Presentacion Patrones CreacionalesPresentacion Patrones Creacionales
Presentacion Patrones Creacionales
 
Emprendimiento Tecnológico
Emprendimiento TecnológicoEmprendimiento Tecnológico
Emprendimiento Tecnológico
 
Mada metodología ágil de desarrollo de apis
Mada   metodología ágil de desarrollo de apisMada   metodología ágil de desarrollo de apis
Mada metodología ágil de desarrollo de apis
 
Definición de apis con swagger
Definición de apis con swaggerDefinición de apis con swagger
Definición de apis con swagger
 
Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?Analisis ¿No es eso para personas poco inteligentes?
Analisis ¿No es eso para personas poco inteligentes?
 
Conceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOAConceptos introductorios al diseño de Servicios SOA
Conceptos introductorios al diseño de Servicios SOA
 
Patrones de diseño en POO
Patrones de diseño en POOPatrones de diseño en POO
Patrones de diseño en POO
 
Patrones de Diseño y Frameworks
Patrones de Diseño y FrameworksPatrones de Diseño y Frameworks
Patrones de Diseño y Frameworks
 
Artesanos de software: El uso e implementación de patrones de diseño en siste...
Artesanos de software: El uso e implementación de patrones de diseño en siste...Artesanos de software: El uso e implementación de patrones de diseño en siste...
Artesanos de software: El uso e implementación de patrones de diseño en siste...
 
Orquestación de Servicios y SOA
Orquestación de Servicios y SOAOrquestación de Servicios y SOA
Orquestación de Servicios y SOA
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
Patrones Creacionales
Patrones CreacionalesPatrones Creacionales
Patrones Creacionales
 
patrones de diseño web.
  patrones de diseño web.   patrones de diseño web.
patrones de diseño web.
 

Similaire à Arquitectura aplicaciones Patrones de diseño

Similaire à Arquitectura aplicaciones Patrones de diseño (20)

Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Patrones de Diseño
Patrones de DiseñoPatrones de Diseño
Patrones de Diseño
 
6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt6070_TRECALDE_00288.ppt
6070_TRECALDE_00288.ppt
 
U5.pptx
U5.pptxU5.pptx
U5.pptx
 
patronesdiseño2009.ppt
patronesdiseño2009.pptpatronesdiseño2009.ppt
patronesdiseño2009.ppt
 
Semana 1 Patrones de Diseño
Semana 1   Patrones de DiseñoSemana 1   Patrones de Diseño
Semana 1 Patrones de Diseño
 
chuy
chuy chuy
chuy
 
Construcción de Software (Patrones)
Construcción de Software (Patrones)Construcción de Software (Patrones)
Construcción de Software (Patrones)
 
Astema3
Astema3Astema3
Astema3
 
Patrones de Diseño de Software
Patrones de Diseño de SoftwarePatrones de Diseño de Software
Patrones de Diseño de Software
 
06 patrones
06 patrones06 patrones
06 patrones
 
Catalogo de patrones 0
Catalogo de patrones 0Catalogo de patrones 0
Catalogo de patrones 0
 
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 I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.pptCC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
 
Introducción a DDD
Introducción a DDDIntroducción a DDD
Introducción a DDD
 
Buider Patron de Diseño
Buider Patron de DiseñoBuider Patron de Diseño
Buider Patron de Diseño
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo
 

Plus de Germania Rodriguez

Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...Germania Rodriguez
 
Introducción gestión de proyectos informáticos
Introducción gestión de proyectos informáticosIntroducción gestión de proyectos informáticos
Introducción gestión de proyectos informáticosGermania Rodriguez
 
Tecnologías sociales para OCW
Tecnologías sociales para OCWTecnologías sociales para OCW
Tecnologías sociales para OCWGermania Rodriguez
 
Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial como programa de gestión, método de an...Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial como programa de gestión, método de an...Germania Rodriguez
 
Gestión de ti arquitectura empresarial
Gestión de ti arquitectura empresarialGestión de ti arquitectura empresarial
Gestión de ti arquitectura empresarialGermania Rodriguez
 
Gestión de ti introduccion cobit itil pmi
Gestión de ti introduccion cobit itil pmiGestión de ti introduccion cobit itil pmi
Gestión de ti introduccion cobit itil pmiGermania Rodriguez
 
Presentación Open Day Oportunidad UTPL
Presentación Open Day Oportunidad UTPLPresentación Open Day Oportunidad UTPL
Presentación Open Day Oportunidad UTPLGermania Rodriguez
 
Presentación ddi 2012 proyecto cepra
Presentación ddi 2012 proyecto cepraPresentación ddi 2012 proyecto cepra
Presentación ddi 2012 proyecto cepraGermania Rodriguez
 
Automatas y compiladores analisis sintactico
Automatas y compiladores analisis sintacticoAutomatas y compiladores analisis sintactico
Automatas y compiladores analisis sintacticoGermania Rodriguez
 
Automatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoAutomatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoGermania Rodriguez
 
Automatas y compiladores clase4
Automatas y compiladores clase4Automatas y compiladores clase4
Automatas y compiladores clase4Germania Rodriguez
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3Germania Rodriguez
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2Germania Rodriguez
 
Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase3Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase3Germania Rodriguez
 
Arquitectura aplicaciones clase2
Arquitectura aplicaciones clase2Arquitectura aplicaciones clase2
Arquitectura aplicaciones clase2Germania Rodriguez
 
Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1Germania Rodriguez
 
Sociedad de información evolucion ti
Sociedad de información evolucion tiSociedad de información evolucion ti
Sociedad de información evolucion tiGermania Rodriguez
 
IntroduccióN Sociedad De InformacióN
IntroduccióN Sociedad De InformacióNIntroduccióN Sociedad De InformacióN
IntroduccióN Sociedad De InformacióNGermania Rodriguez
 

Plus de Germania Rodriguez (20)

Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
 
Gestión de proyectos PMBok
Gestión de proyectos PMBokGestión de proyectos PMBok
Gestión de proyectos PMBok
 
Introducción gestión de proyectos informáticos
Introducción gestión de proyectos informáticosIntroducción gestión de proyectos informáticos
Introducción gestión de proyectos informáticos
 
Tecnologías sociales para OCW
Tecnologías sociales para OCWTecnologías sociales para OCW
Tecnologías sociales para OCW
 
Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial como programa de gestión, método de an...Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial como programa de gestión, método de an...
 
Gestión de ti arquitectura empresarial
Gestión de ti arquitectura empresarialGestión de ti arquitectura empresarial
Gestión de ti arquitectura empresarial
 
Gestión de ti introduccion cobit itil pmi
Gestión de ti introduccion cobit itil pmiGestión de ti introduccion cobit itil pmi
Gestión de ti introduccion cobit itil pmi
 
Presentación Open Day Oportunidad UTPL
Presentación Open Day Oportunidad UTPLPresentación Open Day Oportunidad UTPL
Presentación Open Day Oportunidad UTPL
 
Presentación ddi 2012 proyecto cepra
Presentación ddi 2012 proyecto cepraPresentación ddi 2012 proyecto cepra
Presentación ddi 2012 proyecto cepra
 
Automatas y compiladores analisis sintactico
Automatas y compiladores analisis sintacticoAutomatas y compiladores analisis sintactico
Automatas y compiladores analisis sintactico
 
Automatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoAutomatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxico
 
Automatas y compiladores clase4
Automatas y compiladores clase4Automatas y compiladores clase4
Automatas y compiladores clase4
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
 
Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase3Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase3
 
Arquitectura aplicaciones clase2
Arquitectura aplicaciones clase2Arquitectura aplicaciones clase2
Arquitectura aplicaciones clase2
 
Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1
 
Si nueva economia junio 2010
Si nueva economia junio 2010Si nueva economia junio 2010
Si nueva economia junio 2010
 
Sociedad de información evolucion ti
Sociedad de información evolucion tiSociedad de información evolucion ti
Sociedad de información evolucion ti
 
IntroduccióN Sociedad De InformacióN
IntroduccióN Sociedad De InformacióNIntroduccióN Sociedad De InformacióN
IntroduccióN Sociedad De InformacióN
 

Dernier

La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxLa-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxMAURICIO329243
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptxfotofamilia008
 
Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Edith Liccioni
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaFarid Abud
 
Biografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoBiografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoJosé Luis Palma
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfHannyDenissePinedaOr
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Gonella
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Filosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroFilosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroJosé Luis Palma
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Gonella
 

Dernier (20)

Acuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptxAcuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptx
 
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxLa-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Acuerdo segundo periodo - Grado Once.pptx
Acuerdo segundo periodo - Grado Once.pptxAcuerdo segundo periodo - Grado Once.pptx
Acuerdo segundo periodo - Grado Once.pptx
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
 
Act#25 TDLab. Eclipse Solar 08/abril/2024
Act#25 TDLab. Eclipse Solar 08/abril/2024Act#25 TDLab. Eclipse Solar 08/abril/2024
Act#25 TDLab. Eclipse Solar 08/abril/2024
 
Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
 
Biografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoBiografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro Delgado
 
El Bullying.
El Bullying.El Bullying.
El Bullying.
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdf
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Filosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroFilosofía del gobierno del general Alfaro
Filosofía del gobierno del general Alfaro
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1
 

Arquitectura aplicaciones Patrones de diseño

  • 1. Arquitectura de Aplicaciones Germania Rodríguez grrodriguez@utpl.edu.ec
  • 2. Patrones de Diseño •  Introducción – La construcción de software – tarea complicada – Depende de la experiencia de las personas - desarrolladores – El 80% de los aportes viene del 20% del personal – El 80% del esfuerzo está en el 20% del código desarrollado
  • 4. Patrones de Diseño •  Mecanismos de reutilización – Componentes – Frameworks – Objetos distribuidos – PATRONES DE DISEÑO
  • 5. Patrones de Diseño “Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, para describir después el núcleo de la solución a ese problema, de tal manera que esa solución pueda ser usada más de un millón de veces sin hacerlo siquiera dos veces de la misma forma” - Christopher Alexander
  • 6. Patrones de Diseño •  Objetivo: crear un lenguaje común a una comunidad de desarrolladores para comunicar experiencia sobre los problemas y sus soluciones
  • 7. Patrones de Diseño •  Características –  Solucionar un problema –  Ser un concepto probado –  La solución no es obvia –  Describe participantes y sus relaciones
  • 8. Patrones de Diseño •  Elementos 1.  El nombre del patrón 2.  El problema 3.  La solución 4.  Las consecuencias - resultados
  • 9. Patrones de Diseño •  Clasificación Propósito Ámbito Patrones de Patrones Patrones de Creación estructurales Comportamiento Clase •  Factory Method •  Adapter (de •  Interpreter clases) •  Template Method Objeto •  Abstract Factory •  Adapter (de •  Chain of •  Builder objetos) Responsibility •  Prototype •  Bridge •  Command •  Singleton •  Composite •  Iterator •  Decorator •  Mediator •  Facade •  Memento •  Flyweight •  Observer •  Proxy •  State •  Strategy •  Visitor
  • 10. Patrones de Diseño PATRONES DE CREACIÓN Su propósito principal es abstraer el proceso de creación de instancias. Ayudan a hacer un sistema independiente de cómo se crean, se componen y se representan sus objetos - Un patrón de clases usa la herencia para cambiar la clase de la instancia a crear, mientras que un patrón de objetos delega la creación de la instancia en otro objeto. Éstos a su vez se clasifican en: Fabrica Abstracta (Abstract Factory) Proporciona una interfaz para crear familias de objetos o que dependen entre sí, sin especificar sus clases concretas. Constructor (Builder) Separa la construcción de un objeto de su representación. Método de Fábrica (Factory Method) Define una interfaz para crear un objeto. Prototipo (Prototype) Especifica los tipos de objetos a crear por medio de una instancia prototípica y crea nuevos objetos copiando dicho prototipo. Instancia única (Singleton) Garantiza que una clase solo tenga una instancia
  • 11. Patrones de Diseño PATRONES ESTRUCTURALES Se ocupan de cómo se combinan las clases y los objetos para formar estructuras más grandes - Los patrones estructurales de clases hacen uso de la herencia para componer interfaces o implementaciones. En éste tipo de patrones se encuentran: Adaptador (Adapter) Convierte la interfaz de una clase en otra interfaz que es la que esperan los clientes. Puente (Bridge) Desacopla una abstracción de su implementación Compuesto (Composite) Compone objetos en estructuras de árbol para representar jerarquías de parte-todo. Decorador (Decorator) Asigna responsabilidades adicionales a un objeto dinámicamente Fachada (Facade) Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema. Peso ligero (Flyweight) Una instancia de grano fino usada para compartir eficientemente Apoderado (Proxy) Un objeto representando otro objeto
  • 12. Patrones de Diseño PATRONES DE COMPORTAMIENTO Tienen que ver con algoritmos y con la asignación de responsabilidades a objetos. Describen no solo patrones de clases y objetos, sino también patrones de comunicación entre ellos. Cadena de responsabilidad (Chain of responsibility) Encadena los objetos receptores y pasa la petición a través de la cadena hasta que es procesada por algún objeto. Orden (Command) Encapsula una petición orden como un objeto. Interprete (Interpreter) Define una forma para incluir elementos de lenguaje en un programa Iterador (Iterator) Proporciona un modo secuencial para acceder a los elementos de una colección Mediador (Mediator) Define comunicación simplificada entre clases Recuerdo (Memento) Captura y restaura el estado interno de un objeto.
  • 13. Patrones de Diseño PATRONES DE COMPORTAMIENTO Observador (Observer) Define una dependencia de uno a muchos entre objetos Estado (State) Permite que un objeto modifique su comportamiento cada vez que cambie su estado interno. Estrategia (Strategy) Define una familia de algoritmos, encapsula cada uno de ellos y los hace intercambiables. Método Plantilla (Template method) Define en una operación el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos. Visitante (Visitor) Representa una operación sobre los elementos de una estructura de objetos.
  • 14. Patrones de Diseño •  ¿Cómo seleccionar un patrón de diseño? •  Tipo de problema a resolver •  Que tipos de problemas solucionan un patrón determinado •  Observar las interrelaciones de los patrones •  Visión sistémica (todo) •  Piense que debería ser variable en su diseño.
  • 15. Patrones de Diseño •  ¿Cómo usar un patrón de diseño? •  Familiarizarse con el Patrón: estructura, participantes y colaboraciones. •  Examine algunos ejemplos de su codificación •  Elija nombres significativos en el contexto de la aplicación •  Defina las clases •  Defina nombres especificos de la aplicación para las operaciones del patrón •  Implemente las operaciones para llevar a cabo las responsabilidades y colaboraciones del patrón.
  • 16. Patrones de Diseño •  Patrones y Frameworks – L o s p a t r o n e s d e d i s e ñ o s o n m á s abstractos que los frameworks – Los patrones de diseño son elementos arquitectónicos más pequeños que los frameworks – Los patrones están menos especializados que los framework
  • 17. Bibliografía •  Gamma E., Helm R., Johnson R., Vlissides J., Patrones de diseño: Elementos de software orientado a objetos reutilizable, Pearson Education S.A., Madrid 2003. •  C a l d e r o n J . , S i s t e m a s I V , h t t p : / / w w w. s l i d e s h a r e . n e t / videoconferencias/sistemas-iv, UTPL 2007