设计模式 - 备忘录模式

定义

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 @ 2022-04-21 23:52  wesson2019  阅读(15)  评论(0编辑  收藏  举报