SlideShare une entreprise Scribd logo
1  sur  9
Patrón de comportamiento
Memento (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 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:
Fuentes
http://www.dofactory.com/Patterns/Patterns.aspx

Contenu connexe

En vedette

El Funcionamiento De Nuestra Memoria
El Funcionamiento De Nuestra MemoriaEl Funcionamiento De Nuestra Memoria
El Funcionamiento De Nuestra Memoriapagrajedo
 
EL FUNCIONAMIENTO DE LA MENTE HUMANA
EL FUNCIONAMIENTO DE LA MENTE HUMANAEL FUNCIONAMIENTO DE LA MENTE HUMANA
EL FUNCIONAMIENTO DE LA MENTE HUMANAEuler
 
MENTE-MEMORIA-INTELIGENCIA
MENTE-MEMORIA-INTELIGENCIAMENTE-MEMORIA-INTELIGENCIA
MENTE-MEMORIA-INTELIGENCIAEuler
 

En vedette (6)

Ensayos
EnsayosEnsayos
Ensayos
 
El Funcionamiento De Nuestra Memoria
El Funcionamiento De Nuestra MemoriaEl Funcionamiento De Nuestra Memoria
El Funcionamiento De Nuestra Memoria
 
Memento
MementoMemento
Memento
 
EL FUNCIONAMIENTO DE LA MENTE HUMANA
EL FUNCIONAMIENTO DE LA MENTE HUMANAEL FUNCIONAMIENTO DE LA MENTE HUMANA
EL FUNCIONAMIENTO DE LA MENTE HUMANA
 
MENTE-MEMORIA-INTELIGENCIA
MENTE-MEMORIA-INTELIGENCIAMENTE-MEMORIA-INTELIGENCIA
MENTE-MEMORIA-INTELIGENCIA
 
La Memoria
La MemoriaLa Memoria
La Memoria
 

Similaire à Memento

Similaire à Memento (6)

Patron Singleton
Patron SingletonPatron Singleton
Patron Singleton
 
ZabalaOrellanaRael2,Flyweight.pptx
ZabalaOrellanaRael2,Flyweight.pptxZabalaOrellanaRael2,Flyweight.pptx
ZabalaOrellanaRael2,Flyweight.pptx
 
ZabalaOrellanaRael,Flyweight.pptx
ZabalaOrellanaRael,Flyweight.pptxZabalaOrellanaRael,Flyweight.pptx
ZabalaOrellanaRael,Flyweight.pptx
 
React
ReactReact
React
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
 
Curso de doctorado Tecnología de Objetos: Persistencia.
Curso de doctorado Tecnología de Objetos: Persistencia.Curso de doctorado Tecnología de Objetos: Persistencia.
Curso de doctorado Tecnología de Objetos: Persistencia.
 

Plus de TerryJoss

Semana 10 eventos excepciones y errores
Semana 10   eventos excepciones y erroresSemana 10   eventos excepciones y errores
Semana 10 eventos excepciones y erroresTerryJoss
 
Semana 13 ejemplo del uso del rmi
Semana 13   ejemplo del uso del rmiSemana 13   ejemplo del uso del rmi
Semana 13 ejemplo del uso del rmiTerryJoss
 
Semana 13 sistemas distribuidos
Semana 13   sistemas distribuidosSemana 13   sistemas distribuidos
Semana 13 sistemas distribuidosTerryJoss
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuarioTerryJoss
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuarioTerryJoss
 
Semana 11 pruebas unitarias
Semana 11   pruebas unitariasSemana 11   pruebas unitarias
Semana 11 pruebas unitariasTerryJoss
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividadesTerryJoss
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividadesTerryJoss
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto bibliotecaTerryJoss
 

Plus de TerryJoss (11)

Semana 10 eventos excepciones y errores
Semana 10   eventos excepciones y erroresSemana 10   eventos excepciones y errores
Semana 10 eventos excepciones y errores
 
Semana 13 ejemplo del uso del rmi
Semana 13   ejemplo del uso del rmiSemana 13   ejemplo del uso del rmi
Semana 13 ejemplo del uso del rmi
 
Semana 13 sistemas distribuidos
Semana 13   sistemas distribuidosSemana 13   sistemas distribuidos
Semana 13 sistemas distribuidos
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuario
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuario
 
Semana 11 pruebas unitarias
Semana 11   pruebas unitariasSemana 11   pruebas unitarias
Semana 11 pruebas unitarias
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Facade
FacadeFacade
Facade
 
Prototype
PrototypePrototype
Prototype
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto biblioteca
 

Dernier

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Dernier (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Memento

  • 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.
  • 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. 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.
  • 7.
  • 8.