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.
Description
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 we want to save. Usually, we won't store the business type directly and we provide an extra layer of abstraction through this type.
Originator: AÂ type that is in charge of creating mementos and storing the current active state. We said that the Memento...