标签:
观察者模式类似订阅的功能,当目标对象的数据或行为发生变化时,相应的观察者会产生变化。最基本的例子就是在目标对象中维护一个观察者的列表。
代码如下:
public abstract class Observer { public abstract void doSomething(); }
public class ConcreteObserver extends Observer { @Override public void doSomething() { System.out.println("ConcreteObserver"); } }
public class Target { private List<Observer> list = new ArrayList<Observer>(); public void addObserver(Observer obv){ list.add(obv); } public void noticeObserver(){ for(Observer observer : list){ observer.doSomething(); } } }
public class App { public static void main(String[] args) { Target target = new Target(); target.addObserver(new ConcreteObserver()); target.addObserver(new ConcreteObserver()); target.noticeObserver(); } }
标签:
原文地址:http://www.cnblogs.com/Fredric-2013/p/4576420.html