Successfully reported this slideshow.
Your SlideShare is downloading. ×

Arquitectura aplicaciones Patrones de diseño

Ad

Arquitectura de Aplicaciones

         Germania Rodríguez
        grrodriguez@utpl.edu.ec

Ad

Patrones de Diseño
•  Introducción
  – La construcción de software – tarea
    complicada
  – Depende de la experiencia de...

Ad

Patrones de Diseño


Objetivo REUTILIZACIÓN

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 17 Ad
1 of 17 Ad
Advertisement

More Related Content

Advertisement

More from Germania Rodriguez (20)

Advertisement

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ño Objetivo 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Ó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. 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. 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. 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. 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

×