java中23种设计模式之14-观察者模式(observer pattern)

import java.util.ArrayList;
interface Watcher
{
void update(String string);
}
class ConcreteWatcher implements Watcher
{
private String name=null;
public ConcreteWatcher(String name)
{
this.name=name;
}
public void update(String string)
{
System.out.println(name+":"+string);
}
}
class BeWatched
{
ArrayList<ConcreteWatcher> concreteWatcherList=new ArrayList<ConcreteWatcher>();
public void add(ConcreteWatcher concreteWatcher)
{
concreteWatcherList.add(concreteWatcher);
}
public void notifyWatcher(String string)
{
for(ConcreteWatcher concreteWatcher:concreteWatcherList)
{
concreteWatcher.update(string);
}
}
}

public class ObserverPatternTest
{
public static void main(String[] args)
{
ConcreteWatcher aConcreteWatcher=new ConcreteWatcher("watcher 1");
ConcreteWatcher bConcreteWatcher=new ConcreteWatcher("watcher 2");
ConcreteWatcher cConcreteWatcher=new ConcreteWatcher("watcher 3");

BeWatched aBeWatched=new BeWatched();
aBeWatched.add(aConcreteWatcher);
aBeWatched.add(bConcreteWatcher);
aBeWatched.add(cConcreteWatcher);

aBeWatched.notifyWatcher("go to dead");
}
}

posted on 2015-04-02 20:46  wudymand  阅读(120)  评论(0编辑  收藏  举报

导航