Memento

2,549 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,549
On SlideShare
0
From Embeds
0
Number of Embeds
1,605
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Memento

  1. 1. Patrón de comportamiento Memento (Recuerdo)
  2. 2. 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.
  3. 3. Diagrama UML
  4. 4. 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”.
  5. 5. Ejemplo en Java El 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:
  6. 6. Fuentes http://www.dofactory.com/Patterns/Patterns.aspx

×