类图
代码
Mementor
1 | class Mementor{ |
Originator
1 | class Role{ |
Caretaker
1 | class CareTaker{ |
测试类
1 | public class Main { |
总结
概述
1.什么是备忘录模式
一个对象中一般都封装了很多属性,这些属性的值会随着程序的运行而变化。当我们需要保存某一时刻对象的某些值的时候,我们就再创建一个对象,将当前对象中的一些属性保存到新的对象中,当我们需要恢复的时候再从新的对象中取出属性值即可。这种想法就是备忘录模式
2.为什么需要caretaker类
为了不违背迪米特原则,只和朋友类交流,备份类不是朋友,系统需求只是在某个点创建备份
3.参考链接
https://www.cnblogs.com/chenssy/p/3341526.html
优点
给用户提供了一种可以恢复状态的机制,方便的回到历史某个状态
实现了信息的封装,使得不用不需要关心状态保存的细节
缺点
当类的成员变量过多,会比较消耗资源
当类的成员变量发生变化,会违反开闭原则