Memento pattern其实就是为当前类中的数据做一个备份, 当要恢复以前的数据时就调用存放原始数据的这个类来重新初始化这个类, Memento pattern类似于将数据存backup在本地文件中,但这种方式是想对于数据量比较小的,不具有长期保存价值的,比如用户输入错误的信息,在恢复到上一个页面时要保存已经输入的信息。
可见 Memento中保存了Originator中的number和file的值. 通过调用Originator中number和file值改变的话,通过调用setMemento()方法可以恢复.
Memento模式的缺点是耗费大,如果内部状态很多,再保存一份,无意要浪费大量内存.
---代码来自Jdon 。
2009-11-27