Intent
Without breaking encapsulation, capture and externalize an object’s internal state.
Motivation
Store a snapshot of the internal state of another object, originator
Structure

Participants
Related Patterns
Collaborations
Caretaker (client) can request a memento from the originator (to save a snapshot) and pass a memento back to the originator (to restore previous state)
AKA
Token
What is the role of a Caretaker
Setting and getting the memento.
Does the Caretaker have access to the contents of a memento?
No
Which participant stores the internal state of which object?
Memento stores the internal state of Originator.
Mementos have two interfaces, narrow and wide. Which participants are what?