java设计模式之备忘录模式
代码无错便是优?
简介:
在不破坏封装性的前提下 , 捕获一个对象的内部状态,并在该对象之外保存这个状态 , 这样以后就可以将该对象恢复到原先保存的状态 .
备忘录模式就像我们大家玩的游戏存档一样 , 当我们打不过BOSS时 , 就可以先保存游戏进度 , 然后再去进行下一步的行动 . 这样方便我们再次从想要的位置开始 .
备忘录模式基本代码:
备忘录模式和原型模式混合使用:
备忘录模式是保存对象当时的信息 , 而原型模式是调用clone()方法进行对象的克隆 , 所以我认为可以将备忘录模式进行修改 , 保存对象信息可以直接使用clone()克隆对象 , 然后保存到备忘录中 , 但是这就涉及到浅拷贝和深拷贝的问题 , 如果我们的 "发起人类" (Originator) 内部引用类型稍微复杂的话 , 建议不去使用clone()方法 , 而直接进行信息的保存 .
备忘录模式的缺点 :
备忘录模式的缺点 : 状态需要完整存储到备忘录对象中 , 如果状态的数据过大或者很多 , 在资源消耗上 , 备忘录对象会非常消耗内存 .