Descargar

Patrones de Diseño de Software (ppt)

Enviado por Pablo Turmero


Partes: 1, 2, 3

    edu.red

    1 Arquitectura software y patrones “Una arquitectura orientada a objetos bien estructurada está llena de patrones. La calidad de un sistema orientado a objetos se mide por la atención que los diseñadores han prestado a las colaboraciones entre sus objetos.”

    “Los patrones conducen a arquitecturas más pequeñas, más simples y más comprensibles” G. Booch

    edu.red

    2 Diseño orientado a objetos “Diseñar software orientado a objetos es difícil pero diseñar software orientado a objetos reutilizable es más difícil todavía. Diseños generales y flexibles son muy difíciles de encontrar la primera vez”

    ¿Qué conoce un programador experto que desconoce uno inexperto?

    Reutilizar soluciones que funcionaron en el pasado: Aprovechar la experiencia

    edu.red

    3 Patrones Describen un problema recurrente y una solución. Cada patrón nombra, explica, evalúa un diseño recurrente en sistemas OO. Elementos principales: Nombre Problema Solución: Descripción abstracta Consecuencias

    edu.red

    4 Patrones Patrones de código Nivel de lenguaje de programación Frameworks Diseños específicos de un dominio de aplicaciones. Patrones de diseño Descripciones de clases cuyas instancias colaboran entre sí que deben ser adaptados para resolver problemas de diseño general en un particular contexto. Un patrón de diseño identifica: Clases, Roles, Colaboraciones y la distribución de responsabilidades.

    edu.red

    5 Patrones y frameworks Un framework es una colección organizada de clases que constituyen un diseño reutilizable para una clase específica de software. Necesario adaptarlo a una aplicación particular. Establece la arquitectura de la aplicación Diferencias: Patrones son más abstractos que los frameworks Patrones son elementos arquitecturales más pequeños Patrones son menos especializados

    edu.red

    6 Observer Estructura

    edu.red

    7 Observer Colaboración

    edu.red

    8 Modelo-Vista-Control Utilizado para construir interfaces de usuario en Smalltalk-80. Basado en tres tipos de objetos: Modelo: objetos del dominio Vista: objetos presentación en pantalla (interfaz de usuario) Controlador: define la forma en que la interfaz reacciona a la entrada del usuario. Desacopla el modelo de las vistas.

    edu.red

    1tr 3tr 4tr 2tr (Gp:) 1tr. 2tr. 3tr. 4tr. Este 20 25 90 20 Oeste 30 38 32 32 Norte 47 47 45 45

    Vistas t1=20 t2=25 t3=90 t4=20 Modelo

    edu.red

    10 Modelo-Vista-Control Utiliza los siguientes patrones: Observer Composite Strategy Decorator Factory method

    edu.red

    11 Plantilla de definición Nombre Propósito ¿Qué hace?, ¿Cuál es su razón y propósito?, ¿Qué cuestión de diseño particular o problema aborda? Sinónimos Motivación Escenario que ilustra un problema particular y cómo el patrón lo resuelve.

    edu.red

    12 Plantilla de definición Aplicabilidad ¿En qué situaciones puede aplicarse?, ¿Cómo las reconoces?, ejemplos de diseños que pueden mejorarse. Estructura Diagramas de clases que ilustran la estructura Participantes Clases que participan y sus responsabilidades Colaboraciones Diagramas de interacción que muestran cómo colaboran los participantes.

    edu.red

    13 Plantilla de definición Consecuencias ¿Cómo alcanza el patrón sus objetivos?, ¿Cuáles son los compromisos y resultados de usar el patrón?, Alternativas, Costes y Beneficios Implementación Técnicas, heurísticas y consejos para la implementación ¿Hay cuestiones dependientes del lenguaje? Ejemplo de Código Usos conocidos Patrones relacionados

    edu.red

    14 Clasificación Ámbito (Gp:) Propósito (Gp:) Estructural (Gp:) Comportamiento (Gp:) Creación (Gp:) Herencia (Gp:) Compo- sición (Gp:) Factory Method (Gp:) Adapter (Gp:) Interpreter Template Method (Gp:) Abstract Factory Builder Prototype Singleton (Gp:) Adapter Bridge Composite Decorator Facade Flyweight Proxy (Gp:) Chain of Responsability Command Iterator Mediator Memento Observer State Strategy Visitor

    edu.red

    15 ¿A qué ayudan los patrones? Encontrar clases de diseño Especificar interfaces “Programar hacia la interfaz, no hacia la implementación” No declarar variables de clases concretas sino abstractas. Patrones de creación permiten que un sistema esté basado en términos de interfaces y no en implementaciones. Favorecen la reutilización a través de la composición en vez de la herencia

    edu.red

    16 Herencia vs. Clientela Relación fija

    Reuso “caja blanca” Relación variable Reuso “caja negra” Clase abstracta Interfaz

    Partes: 1, 2, 3
    Página siguiente