设计模式 - 备忘录模式
定义
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
- 
基于嵌套类 
  
- 
基于中间接口 
  
- 
更严格的封装 
  
实例
游戏进度,回滚操作,数据库事务管理,
- 需要创建对象快照来恢复之前的状态。
- 不能之间访问对象的成员变量、getter、setter等。
比较
| 比较 | 备忘录模式 | 备注 | 
|---|---|---|
| 命令模式 | 同时使用实现“撤销”。备忘录保存一条命令执行前该对象的状态。 | 命令对目标对象执行各种不同的操作 | 
| 迭代器模式 | 同时使用来获取当前迭代器的状态,在必要时回滚 | |
| 原型模式 | 原型是可以看作备忘录的简化版本,只要满足 历史纪录中存储的对象状态比较简单,不需要链接其他外部资源,或者链接可以方便地重建 | |

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号