Memento design pattern

Let's now look at a pattern with a fancy name. If we check a dictionary to see the meaning of memento, we will find the following description:

"An object kept as a reminder of a person or event."

Here, the key word is reminder as we will remember actions with this design pattern.


The meaning of memento is very similar to the functionality it provides in design patterns. Basically, we'll have a type with some state and we want to be able to save milestones of its state. Having a finite amount of states saved, we can recover them if necessary for a variety of tasks-undo operations, historic, and so on.

The Memento design pattern usually has three players (usually called actors):

  • Memento: A type that stores the type ...

Get Go Design Patterns now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.