备忘录模式(Memento Pattern)是一种行为型设计模式,主要用于保存一个对象当前的状态,并在需要时恢复该状态。它常应用于以下场景:
- 撤销操作:如文本编辑器撤销、软件开发中的版本控制等,用户可以返回到之前的状态。
- 备份和恢复:系统故障时,使用备份数据恢复到之前的状态,减少数据丢失风险。
- 系统快照:在执行高风险操作之前,创建系统状态的快照,方便后续进行回滚操作。
备忘录模式主要有三个参与者:发起人(Originator)、备忘录(Memento)和负责人(Caretaker)。发起人负责创建备忘录和恢复状态;备忘录负责存储发起人的状态信息;负责人管理多个备忘录。
QT示例:
Memento:增加一个Memento类去记录QTextEdit的字体和颜色;
MyCommand类