Me hace mucha gracia el nombre de este Patrón de Diseño, “Memento”, inavitablemente me recuerda siempre a la película.
Memento nos ayuda por ejemplo a resolver la típica problemática de máquina de estados, donde necesitamos almacenar cuáles han sido los diferentes estados que ha tenido un objeto a lo largo de un tiempo determinado.
Un ejemplo muy cercano a todos nosotros es el uso del “Undo / Deshacer” (CTRL+Z) del que disponen la mayoría de procesadores de texto, entornos de desarrollo… y que nos permite en un momento dado poder deshacer todos los íºltimos pasos que hemos llevado a cabo. Para hacer esto alguien se habrá tenido que acordar de lo que habíamos hecho antes, y ese alguien es el Patrón Memento.
Os dejo link a la wikipedia
https://es.wikipedia.org/wiki/Memento_(patr%C3%B3n_de_dise%C3%B1o)
Y un link a un PDF donde tenéis una descripción más ampliada, además de un ejemplo de codificación en Java.
https://www.freewebz.com/amanecer/personal/papers/paper.memento.pdf
Un saludo.
Miguel.