备忘录模式

2025 年 8 月 18 日 | 阅读 2 分钟

备忘录模式表示“将对象的状态恢复到其先前的状态”。但是它必须在不违反封装的情况下做到这一点。这种情况在出现错误或故障时很有用。

备忘录模式也被称为 令牌

撤消或退格或 ctrl+z 是编辑器中最常用的操作之一。 备忘录设计模式用于实现撤消操作。 这是通过在对象更改状态时保存对象的当前状态来完成的。


好处

  • 它保留了封装边界。
  • 它简化了发起人。

用途

  • 它用于大多数软件中的撤消和重做操作。
  • 它也用于数据库事务中。

备忘录模式的 UML 图

Memento Pattern

备忘录

  • 存储发起人对象的内部状态。 该状态可以包括任意数量的状态变量。
  • 备忘录必须具有两个接口,一个到负责人的接口。 此接口不得允许任何操作或任何访问备忘录存储的内部状态,从而维护封装。 另一个接口是发起人,它允许发起人访问发起人恢复先前状态所需的任何状态变量。

发起人

  • 创建一个备忘录对象,该对象将捕获发起人的内部状态。
  • 使用备忘录对象来恢复其先前的状态。

Caretaker

  • 负责保管备忘录。
  • 备忘录对负责人是透明的,并且负责人不得对其进行操作。

备忘录模式的实现

步骤 1

创建一个 Originator 类,该类将使用 Memento 对象来恢复其先前的状态。

步骤 2

创建一个 Memento 类,该类将存储 Originator 对象的内部状态。

步骤 3

创建一个 Caretaker 类,该类将负责保管 Memento。

步骤 4

创建一个 MementoPatternDemo 类。

输出

Memento Pattern 
下一个主题观察者设计模式