java备忘观察者模式
作者: 日期:2010-07-21
设计、算法、实现 2010-07-20 23:19:26 阅读0 评论0 字号:大中小
public class originator
{
private String state;
private CareTaker ct;
public originator(CareTaker ct)
{
this.ct = ct;
}
public String getState()
{
return state;
}
public void setState(String state)
{
this.state = state;
ct.setMemento(state);
}
public void restroeState(int key)
{
this.state = this.ct.getMemento(key).getState();
}
}
package memento;
import java.util.HashMap;
import java.util.Map;
public class CareTaker
{
private Map<Integer, Memento> mementos = new HashMap<Integer, Memento>();
private int key = 1;
public void setMemento(String ste)
{
mementos.put(key++, new Memento(ste));
}
public Memento getMemento(int key)
{
return mementos.get(key);
}
}
package memento;
public class Memento
{
private String state;
public Memento(String state)
{
this.state = state;
}
public String getState()
{
return state;
}
public void setState(String state)
{
this.state = state;
}
}
public static void main(String[] args)
{
CareTaker c=new CareTaker();
originator o=new originator(c);
o.setState("one");
o.setState("two");
o.setState("three");
o.restroeState(2);
System.out.println(o.getState());
}
根据情况拓展一下
评论: 0 | 引用: 0 | 查看次数: 30
发表评论
你没有权限发表留言!
订阅
上一篇
下一篇
文章来自:
Tags: 




