本文共 1526 字,大约阅读时间需要 5 分钟。
观察者模式也被称为发布-订阅(Publish/Subscribe)模式,它属于行为型模式的一种。观察者模式定义了一种一对多的依赖关系,一个主题对象可被多个观察者对象同时监听。当这个主题对象状态变化时,会通知所有观察者对象并作出相应处理逻辑。
Java中为我提供了观察者模式的通用实现。
public class ObserverSample { public static void main(String[] args) { //新建一个主题对象,并且重写通知方法 Observable subject1 = new Observable() { public synchronized void notifyObservers(Object data) { setChanged(); super.notifyObservers(data); } }; //往主题对象中添加观察者 subject1.addObserver(new Observer() { @Override public void update(Observable o, Object arg) { System.out.println("观察者1收到通知被更新了..." + arg); } }); subject1.addObserver(new Observer() { @Override public void update(Observable o, Object arg) { System.out.println("观察者2收到通知被更新了..." + arg); } }); //发送通知,内部是同步并循环调用每一个观察者 subject1.notifyObservers("change1"); subject1.notifyObservers("change2"); }}
转载地址:http://twpxi.baihongyu.com/