用途

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便在适当的时候恢复对象。

要素

  • Originator:原发器,创建一个备忘录,并在其中中存储当前状态。
  • Memento:包含了要被恢复的对象的状态。
  • Caretaker:包含一个Memento对象列表,负责保管所有的备忘录
  • 示例图:

备忘录模式.jpg

优缺点

  • 简化了原发器
  • 若十分频繁或大量地保存状态,代价会很高