Use the Memento pattern when…

  • An object’s state must be saved to be restored later
  • It is undesirable to expose the state directly.