/**
* 备忘录模式
* 类型:行为型
* 描述:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态
*/
public class MemoMode {
// 发起人
static class Originator {
private String state;
public void setState(String state)
{
this.state = state;
}
public String getState()
{
return state;
}
public void show()
{
System.out.println("state:" + state);
}
public Memento createMemento()
{
return new Memento(state);
}
public void restoreMemento(Memento memento)
{
}
}
// 备忘录
static class Memento {
private String state;
public Memento(String state)
{
this.state = state;
}
public String getState()
{
return state;
}
}
// 守护者
static class Caretaker {
private Memento memento;
public void setMemento(Memento memento)
{
this.memento = memento;
}
public Memento getMemento()
{
return memento;
}
}
public static void main(String[] args)
{
Originator originator = new Originator();
originator.setState("state1");
originator.show();
Caretaker caretaker = new Caretaker();
caretaker.setMemento(originator.createMemento());
originator.setState("state2");
originator.show();
originator.restoreMemento(caretaker.getMemento());
originator.show();
}
}
设计模式-行为型-备忘录模式
最新推荐文章于 2024-07-13 13:55:40 发布