行为型模式的一种,用于备份状态、屏蔽大对象中的属性等场景。

【DP】定义

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。

使用场景

  1. 备份状态:当有状态转换时,出现状态转换失败时需要将状态回退回之前的状态,需要备份;
  2. 需要保存大对象中的一些个别属性,可以类似备忘录模式创建一个“小对象”来存储;
  3. 对外屏蔽大对象中的一些属性(只展示个别属性),可以类似备忘录模式创建一个“小对象”来展示。

类图

备忘录模式

类图核心是备忘录类,以及外部保存类和备忘录类的聚合关系,即外部保存类对象可以保存多个备忘录对象。

注意事项

多模式共同完成一件事:当执行撤销操作时,可以和命令模式一起使用。使用备忘录保存状态,命令模式中的行为请求者执行撤销命令。