Memento
-
Upload
terryjoss -
Category
Technology
-
view
2.252 -
download
3
description
Transcript of Memento
Patrón de comportamientoMemento (Recuerdo)
Definición• Este patrón tiene como finalidad almacenar el estado de un objeto
(o del sistema completo) en un momento dado de manera que se pueda restaurar en ese punto de manera sencilla.
• Para ello se mantiene almacenado el estado del objeto para un instante de tiempo en una clase independiente de aquella a la que pertenece el objeto (pero sin romper la encapsulación), de forma que ese recuerdo permita que el objeto sea modificado y pueda volver a su estado anterior.
Diagrama UML
Clases y objetos que participan en este patrón:
• Memento▫ Almacena el estado interno del objeto Originador. ▫ Impide el acceso a objetos que no sean el Originador.
• Originador▫ Crea un “momento” que contiene un instante de su estado interno actual.▫ Utiliza el “momento” para restaurar el estado interno.
• Vigilante▫ Es el responsable de custodiar el “momento”.▫ Nunca opera o examina el contenido del “momento”.
Ejemplo en JavaEl siguiente programa ilustra el uso de "undo" con el patrón Memento. Intervienen tres clases: la clase Originator (Originador) es una clase que cambia de estado; la clase Caretaker (Portero) se encarga de registrar los cambios del Originador; Memento (Recuerdo) guarda el objeto a salvaguardar.
La salida es:
Fuentes
http://www.dofactory.com/Patterns/Patterns.aspx