模式概述
备忘录模式是一种行为设计模式,它允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。
问题
李星云现在正在开发一款编辑器,除了简单的文字编辑功能外,编辑器中可以嵌入图片。
一般来说,编辑器都允许用户执行撤销(undo)操作,也就是恢复到之前的编辑状态。
李星云的方案是:将所有历史数据都保存到类的成员变量中去,而且这些成员变量都被设成了公有属性,也就是public
。
但这会暴露一切编辑器的状态,也不够安全。但如果将它们全都设为私有属性,也就是private
,但这样一来,对象又没有足够的访问权限来将数据保存到成员变量中去。