备忘录模式浅析

来源:互联网 发布:plc编程入门梯形图视频 编辑:程序博客网 时间:2024/06/07 16:18

其实备忘录模式就是在不破坏封装的前提下,去捕获一个对象的内部的状态,并在这个对象之外去保存这个状态,这样的话之后就可以把这个对象恢复到原先保存的状态。

备忘录模式在很多软件中都有用到,因为现在很多软件都可以有撤销操作,其实就是把先前的某个状态去记录下来了。就好比在有些游戏中,在你退出游戏,你原本所处的状态其实和你再重新进入游戏的状态是一样的,这其实就是做了一个存储。

备忘录模式其实就是将要保存的细节给封装到了备忘录中,如果哪天你要改变保存的细节的话也不会去影响到客户端。



发起者(Orignator):负责去创建一个备忘录对象,用来记录自身的状态,也可以利用备忘录来恢复自身的状态

备忘录(Memento):是负责存储Originator的内部的状态,只让Originator对象去访问保存在Memento对象中的内部状态也就是Originator过去的内部状态

Memento应该有两个接口,一个是宽接口,另一个是窄接口,Caretaker只能看到备忘录的窄接口,他只能将备忘录传递给其他对象。Originator却可看到备忘录的宽接口,允许它访问返回到先前状态所需要的所有数据

管理者(Caretaker):管理备忘录Memento,不能对Memento的内容进行访问或者操作,只负责把备忘录存放在安全的地方保管好,只能够将备忘录传递给其他对象。

就比如说我们可以把便利贴称之为备忘录对象,它封装了原始对象的内部的状态,原始对象其实就是作者的写作,只有使用便利贴的人才能去看懂保存的状态,并且用它来恢复原有的状态。使用便利贴的人就是原始对象。