Chapter 21. The Memento Pattern

In this chapter, we discuss how to use the Memento pattern to save data about an object so that you can restore it later. For example, you might like to save the color, size, pattern or shape of objects in a draughting or painting program. Ideally, you can save and restore this state without making each object take care of this task and without violating encapsulation. This is the purpose of the Memento pattern.


Objects normally shouldn't expose much of their internal state using public methods, but you still want to be able to save the entire state of an object because you might need to restore it later. In some cases, you could obtain enough information from the public interfaces (such as the drawing ...

Get Java™ Design Patterns: A Tutorial now with the O’Reilly learning platform.

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