Arquitectura aplicaciones Patrones de diseño

2,622 views

Published on

Patrones de diseño SW

Published in: Education
1 Comment
7 Likes
Statistics
Notes
  • Saludos estimada profesora.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
2,622
On SlideShare
0
From Embeds
0
Number of Embeds
109
Actions
Shares
0
Downloads
107
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Arquitectura aplicaciones Patrones de diseño

  1. 1. Arquitectura de Aplicaciones Germania Rodríguez grrodriguez@utpl.edu.ec
  2. 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
  3. 3. Patrones de DiseñoObjetivo REUTILIZACIÓN
  4. 4. Patrones de Diseño•  Mecanismos de reutilización – Componentes – Frameworks – Objetos distribuidos – PATRONES DE DISEÑO
  5. 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. 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. 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. 8. Patrones de Diseño•  Elementos 1.  El nombre del patrón 2.  El problema 3.  La solución 4.  Las consecuencias - resultados
  9. 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. 10. Patrones de Diseño PATRONES DE CREACIÓNSu 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 yse representan sus objetos - Un patrón de clases usa la herencia para cambiarla clase de la instancia a crear, mientras que un patrón de objetos delega lacreació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. 11. Patrones de Diseño PATRONES ESTRUCTURALESSe ocupan de cómo se combinan las clases y los objetos para formar estructurasmás grandes - Los patrones estructurales de clases hacen uso de la herencia paracomponer 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. 12. Patrones de Diseño PATRONES DE COMPORTAMIENTOTienen 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 decomunicació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. 13. Patrones de Diseño PATRONES DE COMPORTAMIENTOObservador (Observer) Define una dependencia de uno a muchos entre objetosEstado (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. 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. 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. 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. 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

×