This document discusses the Memento pattern, which allows an object to save its state to a memento object, in order to be able to restore itself to that state later. It describes the intent of the pattern as promoting undo or rollback of an object's status without violating encapsulation. It provides examples of participants like the originator that creates mementos, the memento itself that stores the originator's internal state, and the caretaker that is responsible for the memento. It also includes pseudocode of a diet tracking application that uses the pattern to allow restoring a dieter's previous weight and day.