Mind map
Patrones de Diseño

Mapa mental: Patrones de diseño
Map content
Patrones de Diseño
Cada patrón describe problema con solución
- Se puede aplicar solución varias veces
- Soluciones expresadas en términos de objetos
- Patrón es plantilla aplicable en situaciones
- Se puede aplicar solución varias veces
Elementos
- Nombre del Patrón
- Describe problema con soluciones y consecuencias
- Problema
- Describe cuando aplicar el patrón
- Solución
- Describe elementos que constituyen el diseño
- Consecuencias
- Resultados, ventajas, inconvenientes de aplicar patrón
- Equilibrio entre espacio y tiempo
- Impacto sobre flexibilidad, extensibilidad y portabilidad
- Nombre del Patrón
En el MVC de Smalltalk
- Modelo objeto de aplicación
- Vista representación en pantalla
- Controlador maneja entradas de usuario
- Asignar varias vistas a un modelo
- Vistas se anidan usando clase VistaCompuesta
- Encapsula mecanismo respuesta de objeto controlador
Nomina, abstrae, identifica aspectos estructura diseño
Identifica roles, colaboraciones y responsabilidades
Descripción
- Empleando formato consistente con estructura uniforme
- Nombre de patrón y clasificación
- Propósito, Motivación, Aplicabilidad, Estructura, Participantes
- Colaboraciones, Consecuencias, Implementación, Código ejemplo
- Usos conocidos y Patrones relacionados
- Empleando formato consistente con estructura uniforme
Catálogo
- Témplate Method
- Define en operación esqueleto de algoritmo
- Flyweight
- Compartimiento para permitir número objetos
- Decorator
- Añade dinámicamente nuevas responsabilidades a objeto
- Chain of Responsability
- Evita acoplar emisor a su receptor
- Strategy
- Define una familia de algoritmos
- Facade
- Proporciona una interfaz unificada
- Factory Method
- Define una interfaz para crear objeto
- Sítate
- Permite que objeto modifique su comportamiento
- Composite
- Combina objetos en estructuras de árbol
- Singleton
- Garantiza clase sólo tenga una instancia
- Command
- Encapsula la petición en un objeto
- Yisitor
- Representa una operación sobre los elementos
- Observer
- Define dependencia de uno-a-muchos entre objetos
- Proxy
- Proporciona un sustituto o representante
- Prototype
- Especifica tipos de objetos a crear
- Memento
- Representa, extemaliza estado interno de objeto
- Mediator
- Define objeto encapsula interacción de conjunto
- Iterator
- Modo acceder secuencialmentea elementos de objeto
- lnterpreter
- Define una representación de su gramática
- Bidge
- Desacopla una abstracción de su implementación
- Builder
- Separa construcción de objeto de representación
- Adapter
- Convierte interfaz clase en otra distinta
- Abstract Factory
- Interfaz para crear familia de objetos
- Témplate Method
Organización de catálogo
- Patrones varían en granularidad, nivel abstracción
- Patrones tienen propósito: creación, estructural, comportamiento
- Patrones de clases y objetos
Cómo resolver los problemas de diseño
- Encontrar objetos apropiados
- Objeto encapsula datos y procedimientos
- Paticiones logran ejecuciónde operación
- Operaciones forma de cambiar datos internos
- Modelado estricto del mundo real
- Refleja necesidades presentes
- Objetos descubiertos despúes de primera etapa
- Determinar Granularidad de los objetos
- Objetos varian en tamaño y numero
- Patrones de diseño encargados
- Facade, Flyweight, Abstract Factory, Visitor, Command
- Patrones de diseño encargados
- Objetos varian en tamaño y numero
- Especifiicar interfaces de objetos
- Conjunto signatura operación es interfaz objeto
- Objetos sólo conocidos desde su interfaz
- Enlace dinámico
- Enviar petición no liga una implementación
- Sustituir objetos en tiempo de ejecución
- Polimorfismo
- Simplifica definiciones desacopla objetos permite relaciones
- Polimorfismo
- Patrones de diseño identifican elementos clave
- Memento, Decorator, Proxy, Visitor
- Conjunto signatura operación es interfaz objeto
- Especificar implementaciones de objetos
- Clase especifica datos, representación y operaciones
- Notación
- Tipos retorno, variables de instancia opcionales
- Objeto instancia de clase
- Nueva clase en términos de existente
- Herencia
- Clase abstracta define interfaz común
- Herencia de clases frente herencia interfaz
- Clase mezcable
- Proporcionar una interfaz o funcionalidad opcional
- Clase de objeto
- Estado interno de objeto e implementación
- Tipo de objeto
- Peticiones a las que responder
- Herencia de clases
- Compartir código y representación
- Herencia de Interfaces
- Cómo usar objeto por otro
- Patrones de Diseño
- Chain of Responsibility, Composite, Command, Observer
- State, Strategy
- Clase mezcable
- Programar para interfaces, no para implementación
- Reutilizar la implementación usar polimorfismo
- Manipular objetos interfaz definida clase abstracta
- Clientes desconocen los tipos de objetos
- Clientes desconocen clases que implementan objetos
- No declarar variables como instancias clases
- Patrones de Diseño
- Abstract Factory, Builder, Factory Method
- Prototype, Singleton
- Poner a funcionar mecanismo de reutilización
- Herencia de clases
- Caja blanca
- Visibilidad de clases padre a subclases
- Facilita modificación de implementación reutilizada
- Rompe la encapsulación
- Expone detalles de implementación de subclases
- Caja blanca
- Composición de objetos
- Obtener funcionalidad más compleja
- Caja negra
- Detalles internos de objetos no visibles
- Objetos con referencias a otros objetos
- Mantener clase encapsulada, centrada una tarea
- Delegación
- Objeto receptor delega operaciones en delegado
- Operación delegada refiere al receptor
- Ventaja fácil combinar comportamiento
- Simplifica más de lo que complica
- Patrones de Diseño
- State, Strategy, Visitor, Mediator
- Chain of Responsibility, Bidge
- Herencia frente a Tipos Parametrizados
- Definir tipo sin especificar los usados
- Tipos sin especificar son parámetros
- Una operación ¡mplementada por las subclases
- Responsabilidad de objeto pasado rutina ordenación
- Argumento de una plantilla
- Cambiar tipos a utilizar por clase
- Definir tipo sin especificar los usados
- Herencia de clases
- Estructuras relacionan tiempo ejecución y compilación
- Estructura de código tiempo de compilación
- Clases relacionadas de herencia
- Estructuras de tiempo de ejecución
- Redes cambiantes de objetos
- Agregación
- Objeto posee a otro
- Relación de uso
- Asociación
- Existe mientras dura la operación
- Patrones de Diseño
- Composite, Decorator, Observer, Chain of Responsibility
- Estructura de código tiempo de compilación
- Diseñar para le cambio
- Anticipar nuevos requisitos, cambios de requerimientos
- Tener en cuenta los cambios previstos
- Causas comunes de rediseño
- Crear objeto especificando su clase explícitamente
- Patrones: Abstract Factory, Factory Method, Prototype
- Dependencia de operaciones concretas
- Patrones: Chain of Responsibility, Command
- Dependencia de plataformas hardware o software
- Patrones: Abstract Factory, Bridge
- Dependencia de representaciones o implementaciones de objetos
- Patrones: Abstract Factory, Bridge, Memento, Proxy
- Dependencias algorítmicas
- Patrones: Builder, Iterator, Strategy, Visitor
- Fuerte acoplamiento
- Patrones: Abstract Factory, Bridge, Command
- Chain of Responsibility, Facade, Mediator, Observer
- Patrones: Abstract Factory, Bridge, Command
- Añadir funcionalidad mediante la herencia
- Patrones: Chain of Responsibility, Bridge, Composite
- Decorator, Observer, Strategy
- Patrones: Chain of Responsibility, Bridge, Composite
- Incapacidad para modificar clases convenientemente
- Patrones: Adapter, Decorator, Visitor
- Crear objeto especificando su clase explícitamente
- Clases de Software
- Programa de Aplicación
- Reutilización interna, facilidad mantenimiento y extensión
- Toolkits
- Aplicación incorpora clases de bibliotecas
- Evitar suposiciones, dependecias que limiten funcionalidad
- Aplicación incorpora clases de bibliotecas
- Frameworks
- Conjunto de clases cooperantes
- Personalización
- Creación subclases de la clase abstracta
- Reutilizar cuerpo principal, escribir el código
- Patrones ayudan sin necesidad de rediseño
- Aspectos entre patrones y Frameworks
- Patrones de diseño son más abstractos
- Patrones elementos arquitectónicos más pequeños
- Patrones de diseño están menos especializados
- Programa de Aplicación
- Anticipar nuevos requisitos, cambios de requerimientos
- Encontrar objetos apropiados
Cómo seleccionar un patrón de diseño
- Enfoque para encontrar patrón adecuado
- Considere cómo los patrones solucionan problemas
- Flojee las secciones Propósito
- Estudie cómo se interrelacionan los patrones
- Estudie patrones de propósito similar
- Examine una causa de rediseño
- Piense en variables en su diseño
- Enfoque para encontrar patrón adecuado
Cómo usar un patrón de diseño
- Lea patrón de principio a fin
- Secciones de Estructura, Participantes y Colaboraciones
- Examine la sección Código de Ejemplo
- Elija nombres significativos en el contexto
- Defina las clases
- Defina nombres específicos
- Implemente las operaciones
Information
- Description
- Informática Mind Map on Patrones de Diseño, created by H l on 15/12/2017.
- Created by
- H l
- Views
- 4
- Rating