您的位置:首页 > 其它

设计模式 备忘录模式

2016-11-08 21:39 197 查看
这个模式回头再看吧,把我给绕蒙圈了。

public class Memento {

private String state;

public Memento (String state)
{
this.state=state;
}

public String getState() {
return state;
}
}

public class Originator {

private String state;

public Memento CreateMemento()
{
return new Memento(state);
}

public void SetMemento(Memento memento)
{
state = memento.getState();
}

public void Show()
{
System.out.println("State="+state);
}

public String getState() {
return state;
}

public void setState(String state) {
this.state = state;
}

}

public class Caretaker {

private Memento memento;

public Memento getMemento() {
return memento;
}

public void setMemento(Memento memento) {
this.memento = memento;
}

}

测试程序

public class Program {

public static void main(String[] args) {
// TODO Auto-generated method stub

Originator originator = new Originator();
originator.setState("On");
originator.Show();

Caretaker caretaker = new Caretaker();
caretaker.setMemento(originator.CreateMemento());

originator.setState("off");
originator.Show();

originator.SetMemento(caretaker.getMemento());
originator.Show();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: