备忘录模式(MementoPattern)
综述
定义
当你需要让对象返回之前的状态时(如,你的用户请求“撤销”),就使用备忘录模式
类图
备忘录模式有两个目标:
- 储存系统关键对象的重要状态
- 维护关键对象的封装
不要忘记单一责任原则,不要把保持状态的工作和关键对象混在一起
优点
- 将被储存的状态放在外面,不要和关键对象混在一起,这可以帮助维护内聚
- 保持关键对象的数据封装
- 提供了容易实现的恢复能力
用途
- 备忘录用于存储状态
缺点
- 储存和恢复状态的过程可能相当耗时
- 在Java系统中,可以考虑使用序列化机制储存系统的状态