备忘录模式(Memento Pattern)在软件设计模式中扮演着重要的角色。它是一种行为型模式,用于在不破坏封装性的情况下捕获和存储对象的内部状态,并在需要时将其恢复。本文将介绍如何在 C++ 中实现备忘录模式,并提供相应的源代码。
备忘录模式由三个主要组件组成:原发者(Originator)、备忘录(Memento)和管理者(Caretaker)。原发者是要保存状态的对象,备忘录是保存状态的数据结构,而管理者负责存储和恢复备忘录。
让我们以一个简单的示例来说明备忘录模式的用法。假设我们有一个名为 TextEditor
的文本编辑器类,用户可以在其中输入文本并执行撤销操作。我们希望能够在撤销操作之前保存编辑器的状态,以便在需要时恢复。
首先,我们创建一个 Memento
类来表示备忘录,它包含一个字符串字段用于保存文本编辑器的状态:
class Memento {
public:
Memento(const std