概述
备忘录模式(Memento Pattern)又称 Token,它在不破坏封装性的前提下,捕获一个对象的内部状态并在该对象之外保存,在之后可以将该对象的状态恢复至保存时的样子。
优点:提供了状态恢复机制。
缺点:资源消耗大。
class Originator {
private String state;
public Memento save() {
return new Memento(state);
}
public void restore(Memento m) {
this.state = m.getState();
}
}
class Memento {
private String state;
}
class Caretaker {
private Memento m;
public Memento get() {
return m;
}
public void set(Memento m) {
this.m = m;
}
}
图示:
参考
[1] 刘伟, 设计模式, 2011.