备忘录模式简介
备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
类图:
核心类说明:
Originator:需要被备份的对象
State:对象属性对象
Memento:备忘录对象
Caretaker:备忘录管理对象,维护所有备忘录
使用示例
public class Originator {
private State state;
public Originator(){
this.state = new State();
state.setVersion(0);
}
public Memento createMemento(){
State newState = null;
try {
newState = (State)state.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}