The Memento Design Pattern is a Behavioral Design Pattern that can restore an object to its previous state. This pattern is useful for scenarios where you need to perform an undo or rollback operation in your application. The Memento pattern captures an object’s internal state so that the object can be restored to this state later. It is especially useful when implementing undo functionality in an application.
Component of Memento Design Pattern
- Originator: The object whose state you want to save or restore.
- Memento: Stores the internal state of the Originator. It has two interfaces:
- Caretaker Interface: This interface provides no access to the internal state of the Memento. It is used by the Caretaker to manage the Memento without modifying it.
- Originator Interface: This interface allows the Originator to access the Memento to restore its state.
- Caretaker: The object that requests the saving and restoring of the Originator’s state.