java设计模式(16):备忘录模式

1.什么是备忘录模式

官方的说法:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以想要在恢复之前的状态的时候进行恢复。

我们会发现,上面的定义就像是快照一样,比如IE浏览器的返回按钮,Ctrl+Z 都是这样的一个操作。此外,这个设计模式和 原型模式比较类似。原型模式,是创建一个对象的克隆,肯定是对象的全部状态的一个备份;备忘录模式,可以是我们想要备份的部分状态的一个快照。

2.基本要素

备忘录模式类图

三个重要的角色是:

发起人:Originator:用于记录当前时刻的内部状态,创建和恢复备忘录。

备忘录:Memento:用于存储Originator对象的内部状态

备忘录管理者:Caretaker:对备忘录进行管理,含有Memento对象

3.使用场景

需要提供一个可回滚的操作的时候适用于备忘录模式

参考:

https://blog.csdn.net/zhengzhb/article/details/7697549(设计模式系列很出彩)

猜你喜欢

转载自blog.csdn.net/u014209205/article/details/88806561