备忘录模式(Memento)
意图:
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保持这个状态。
这样以后就可将该对象恢复到原先保存的状态。
适用性:
在以下模式下使用备忘录模式:
1)必须保持一个对象在某一个时刻(部分)状态, 这样以后需要时它才能恢复到先前的状态
2)如果一个用接口来让其它对象直接得到这些状态, 将会暴露对象的实现细节并破坏对象
的封装性
效果:
备忘录模式有以下一些效果:
1)保持封装边界
2)它简化了原发器
3)使用备忘录可能代价很高
4)定义窄接口和宽接口
5)维护备忘录的潜在代价
实现:
下面是当实现备忘录模式时应考虑的两个问题:
1)语言支持
意图:
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保持这个状态。
这样以后就可将该对象恢复到原先保存的状态。
适用性:
在以下模式下使用备忘录模式:
1)必须保持一个对象在某一个时刻(部分)状态, 这样以后需要时它才能恢复到先前的状态
2)如果一个用接口来让其它对象直接得到这些状态, 将会暴露对象的实现细节并破坏对象
的封装性
效果:
备忘录模式有以下一些效果:
1)保持封装边界
2)它简化了原发器
3)使用备忘录可能代价很高
4)定义窄接口和宽接口
5)维护备忘录的潜在代价
实现:
下面是当实现备忘录模式时应考虑的两个问题:
1)语言支持
2)存储增量式改变