Analizamos Memento un patrón de diseño de software que se usa comúnmente para poder memorizar el estado de un objeto en un momento dado, todo ello sin romper la encapsulación del objeto memorizado. Este es uno de los patrones más adecuados cuando necesitamos implementar una funcionalidad de "deshacer" en una aplicación (undo / redo).