Patrón Memento
Modelos de Programación I
Docente:
Julio Barón Velandia
Integrantes:
María Fernanda García Murcia– 20131020053
Santiago Alfonso Casallas - 20132020081
Agenda
Descripción Aplicación Estructura(UML) Ejemplo Ventajas y desventajas Conclusiones Bibliografía
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Aplicaciones
Se usa este patrón cuando:
Para guardar una colección de estados sucesivos que puede tener un objeto y poder luego restaurar el objeto a un estado previo.
También es usado cuando se facilita el “hacer” y “deshacer” de determinadas operaciones .
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Descripción
Es un patrón de comportamiento.
Se utiliza para guardar el estado de un objeto y poder luego recuperarlo sin perder el encapsulamiento del objeto.
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Estructura (UML)
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Ejemplo (Código)
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Ventajas y Desventajas
El patrón oculta a otros objetos las interioridades, potencialmente complejas, del Originador, preservando así los límites de la encapsulación.
El uso de mementos puede ser costoso. Los mementos podrían producir un coste considerable si el Originador debe copiar grandes cantidades de información para guardarlas en el memento o si los clientes crean y devuelven mementos a su creador con mucha frecuencia.
Si el originador tiene que almacenar y mantener a salvo una o muchas copias de su estado interno, sus responsabilidades crecerían y sería inmanejable.
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Conclusiones
Guardar el estado de un Objeto sin romper el encapsulamiento del mismo.
Usar frecuentemente este patrón para almacenar estados internos de objetos de gran tamaño, podría resultar costoso y perjudicar el rendimiento de la aplicación.
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación
Bibliografía
Marqués Corra, I José Manuel; Maudes Raedo, Jesús Manuel; García Peñalvo, Francisco José. Análisis y Diseño Orientado al Objeto para Reutilización. Versión 2.1.1 (Octubre de 1997), p.38
Universidad Distrital Francisco José de Caldas - Facultad de Ingeniería - Ingeniería de Sistemas - Modelos de Programación