定义
备忘录模式(Memento Pattern)是一种对象行为型模式,又叫快照模式,别名为Token。这种模式允许在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。备忘录模式的发起人(Originator)角色会记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能,实现其他业务功能。备忘录(Memento)角色负责存储发起人的内部状态,在需要的时候提供这些内部状态给发起人。管理者(Caretaker)角色对备忘录进行管理,提供保存与获取备忘录的功能,但其不能对备忘录的内容进行访问与修改。
实现举例
- 用Originator类来表示要保存和恢复状态的对象。这个类定义了如何创建备忘录(即保存状态),以及如何从备忘录中恢复状态。
#include <iostream>
#include <string>
// 原发器类
class Originator {
public:
// 定义一些可能会随时间变化的重要数据
std::string state;
// 创建一个新的备忘录
Memento createM