Breaking down the Memento pattern
As part of the Behavioral family of design patterns, the Memento pattern is all about saving an object’s internal state data at a point in time without breaking the object’s encapsulation. The Memento pattern is useful when:
- You need to save a snapshot of an object’s internal state (data) so it can be easily restored later.
- You need to keep the target object’s internal state and implementation encapsulated.
This sounds a little too computer science-y even for me, so let’s break down the Memento pattern into more relatable chunks. Imagine you go on a dream vacation you’ve been planning for years. While on said fantastic vacation, you take pictures, buy souvenirs, and get a nasty sunburn, thus capturing the all-around good time you’re having (current internal state). When you get home, the mail is stacked up to the ceiling, you discover that a pipe burst in your bathroom while...