O GoConqr está de visual novo! Conte para nós o que você achou.

Flashcards

PATRONES

Diego Martinez Modelado del Software Espanhol 26 flashcards

PATRONES

Flashcards do conjunto (26)

  1. 1PATRONES ESTRUCTURALES BASADOS EN OBJETOS(COMPOSICIÓN)COMPO-DECO-FA-FLY-PRO
  2. 2COMPOSITECOMPOSITE
    +Para construir objetos complejos con otros más simples
    +Permite una composición recursiva
    +Estructura en forma de árbol.
    +Objetos(todos)tienen una interfaz común
    +Es fácil añadir nuevos tipos de componentes
    -Hay que comprobar tipos en tiempo de ejecución.
    -No se puede garantizar que un objeto compuesto solo contenga objetos de las clases que queramos.
    Ejemplo: arbol de carpetas y archivos
  3. 3COMPOSITE DIAGRAMA DE CLASESCOMPOSITE DIAGRAMA DE CLASES
  4. 4DECORATOR+Permite añadir funcionalidad a un objeto en tiempo de ejecución sin afectar a otros objetos
    +Con la herencia es imposible
    +Reduce la cantidad de operaciones en las clases mas altas en la jerarquía.
    -Tener demasiados objetos pequeños
    -Dificultad para controlar la identidad de los mismos.
    Ejemplo: bordes o scrolling de una ventana
    Ampliar características a un coche
  5. 5DECORATOR DIAGRAMA DE CLASESDECORATOR DIAGRAMA DE CLASES
  6. 6FACADE+Crea una fachada que simplifica la interface con una clase destino adaptándola a las operaciones que la clase cliente necesita para su uso concreto.
    +Reduce la dependencia entre subsistemas
    +Ideal para una arquitectura multinivel
    La desventaja es que creamos clases con una funcionalidad ya existente.
    Ejemplo: Pago web através de Facade que conecta con diferente medios de pago
  7. 7FACADE DIAGRAMA DE CLASESFACADE DIAGRAMA DE CLASES
  8. 8FLYWEIGHT muchos objetos pequeñosFLYWEIGHT
    +Para eliminar o reducir la redundancia cuando tenemos gran cantidad de objetos de tamaño pequeño con información idéntica
    +Aporta equilibrio entre flexibilidad y rendimiento (uso de recursos).
    Permite compartir:
    +Objetos ligeros para hacer un programa más liviano.
    +Estados intrínsecos de los objetos que no dependen del contexto.
    -Aumento de complejidad de los objetos.
    -Incremento del nº de clases del sistema
    Ejemplo: es muy utilizado en videojuegos, ya que nos permite que elementos con muchas características en común, como pueden ser los árboles del escenario, puedan ser reproducidos sin despilfarrar la memoria que gastarían haciendo una instancia por cada uno.
  9. 9FLYWEIGHT DIAGRAMA DE CLASESFLYWEIGHT DIAGRAMA DE CLASES
  10. 10PROXYPROXY
    +Objeto intermediario para controlar el acceso otro.
    +Misma interfaz y referencia que el objeto de destino.
    +Ideal para permitir el acceso distribuido, controlado e inteligente.
    Se puede agregar un "wrapper" para agregar funcionalidad al objeto de interés sin cambiar el código del objeto.
    -Introduce un nivel mas de indirección.
    Ejemplo:abrimos un documento que contiene una imagen, la cual se cargará y mostrará cuando el usuario haga scroll.
  11. 11PROXY DIAGRAMA DE CLASESPROXY DIAGRAMA DE CLASES
  12. 12PATRONES DE COMPORTAMIENTO BASADO EN OBJETOS(COMPOSICIÓN) Este tipo patrones ayudan a resolver problemas de interacción entre clases y objetos.*TEMPLATE+CO-ME-ME-OB-ST-ST
    *Template es basado en clases
  13. 13TEMPLATE+En una clase abstracta se define la parte común del algoritmo y en las subclases se definen aspectos puntuales.
    +Reaprovechamiento código.
    -Puede dar lugar a inexactitudes si no están todos los métodos claramente diferenciados
    Ejemplo:
    Una empresa que posee socios, clientes, empleados, etc. Cuando se les solicite que se identifiquen, cada uno lo realizará de distinta manera: quizás un empleado tiene un legajo, pero un cliente tiene un numero de cliente, etc.
  14. 14TEMPLATE DIAGRAMA DE CLASESTEMPLATE DIAGRAMA DE CLASES
  15. 15COMMAND encapsula mensajes+Encapsula un mensaje como un objeto pudiendo parametrizar las peticiones de los cliented y estsblecer una cola.
    +Así podemos parametrizar clientes
    +Podemos soportar operaciones con posibilidad de deshacer.
    -Gran numero de clases y objetos en juego, dificil controla el desarrollo.
    Ejemplo
    Supongamos un editor de texto, una clase Document con las operaciones básicas que se hacen sobre un documento abrir, cerrar, cortar, copiar y pegar. Y otra clase Menu que tendrá unas clases que implementen esas operaciones de abrir, cerrar… pero que realmente no sabrán que acción hará.
  16. 16COMMAND DIAGRAMA DE CLASESCOMMAND DIAGRAMA DE CLASES
  17. 17MEDIATOR (colega) encapsula interacción+Objeto que encapsula la interacción de un conjunto de objetos.
    +Aporta bajo acoplamiento(objetos ya no tienen que referenciarse unos a otros)-
    -Objeto difícil de mantener.
    Ejemplo, ventana que contiene un botón que se desactiva cuando un cuadro de texto está vacío.
  18. 18MEDIATOR DIAGRAMA DE CLASES.MEDIATOR DIAGRAMA DE CLASES.
  19. 19MEMENTO+Dota a nuestro diseño de una característica similar al “undo” o “Rollback”.
    +Permite restaurar el estado de un objeto a un estado anterior sin romper la encapsulación (no accedemos a sus atributos), para lo cual previamente dicho estado ha de haber sido guardado.
    +Debemos controlar la cantidad y tamaño de los objetos guardados.
  20. 20MEMENTO DIAGRAMA DE CLASESMEMENTO DIAGRAMA DE CLASES
  21. 21OBSERVER réplica cambios+Cuando queremos que el cambio de un objeto requiera cambios en otros y no sabemos cuales son.
    -No garantiza la llegada de los mensajes
    Ejemplo: una paleta de colores que se usa por varios a la vez y todos han de ver los cambios que esta sufriendo
  22. 22OBSERVER DIAGRAMA DE CLASESOBSERVER DIAGRAMA DE CLASES
  23. 23STATE+Permite a un objeto alterar su comportamiento dependiendo de su estado interno.
    +Mejor mantenimiento posterior.
    +Fácil ampliar de estados
    -Se incrementa el número de subclases.
    - - -
    Ejemplo se toma una clase TCPConnection que representa una conexión de red, un objeto de esta clase tendrá diferentes respuestas según su estado (Listening, Closed o Established).
  24. 24STATE DIAGRAMA DE CLASESSTATE DIAGRAMA DE CLASES
  25. 25STRATEGY+Bueno para implementar comportamientos en clases hijas a través de una clase común.
    El comportamiento concreto se ejecuta en tiempo de ejecución y en función de algún parámetro.
    -Menor eficiencia. Aumenta el número de objetos creados.
    Ejemplo: en una biblioteca emplear diferente algoritmo de búsqueda dependiendo de parámetros.
  26. 26STRATEGY DIAGRAMA DE CLASESSTRATEGY DIAGRAMA DE CLASES

Informações

Descrição
Modelado del Software FlashCards sobre PATRONES, criado por Diego Martinez em 05-06-2019.
Criado por
Diego Martinez
Visualizações
19
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?