设计模式 - 备忘录模式

定义

Without violating encapsulation, capture and externalize an object's internal state so that the object can be restored to this state later.

aks:snapshot

UML

  1. 基于嵌套类

  2. 基于中间接口

  3. 更严格的封装

实例

游戏进度,回滚操作,数据库事务管理,

  1. 需要创建对象快照来恢复之前的状态。
  2. 不能之间访问对象的成员变量、getter、setter等。

比较

比较 备忘录模式 备注
命令模式 同时使用实现“撤销”。备忘录保存一条命令执行前该对象的状态。 命令对目标对象执行各种不同的操作
迭代器模式 同时使用来获取当前迭代器的状态,在必要时回滚
原型模式 原型是可以看作备忘录的简化版本,只要满足
历史纪录中存储的对象状态比较简单,不需要链接其他外部资源,或者链接可以方便地重建
posted @   wesson2019  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2021-04-21 Ling应用
点击右上角即可分享
微信分享提示