1.1.1 描述
l 正规描述
备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。
l 形象描述
同时跟几个MM聊天时,一定要记清楚刚才跟MM说了些什么话,不然MM发现了会不高兴的哦,幸亏我有个备忘录,刚才与哪个MM说了什么话我都拷贝一份放到备忘录里面保存,这样可以随时察看以前的记录啦。
1.1.2 类图&示意代码
public class State implements Cloneable(){ public State clone(){ //to do } }
public class Memento(){ private State state;
public Memento(State state){ this.state = state.clone(); }
public State getState(){ return state; } }
public class Originator(){ private State state = new State();
public void setMemento(Memento memento){ if(memento != null){ this.state = memento.getState(); } }
public Memento createMemento(){ return new Memento(state); } }
public class Client(){ public void main(String args[]){ Originator o = new Originator(); Memento m = o.createMemento(); //to change the state of o o.setMemento(m); } } |