设计模式之观察者模式
Posted wjinhhua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之观察者模式相关的知识,希望对你有一定的参考价值。
定义
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有有依赖于它的对象都得到通知并被自动更新。
实例
气象员A(ObserverA)、气象员B(ObserverB)观察天气(被观察者PObserver),天气发生变化,发出通知,并更新天气信息。
代码
客户端
public class Client
public static void main(String[] args)
PObserver pObserver = new PObserver();
pObserver.addObserver(new ObserverA());
pObserver.addObserver(new ObserverB());
pObserver.changeData("气温急剧下降");
PObserver
public class PObserver extends Observable
private String data;
public void changeData(String data)
this.data = data;
setChanged();
this.notifyObservers();
public String getData()
return this.data;
ObserverA
public class ObserverA implements Observer
@Override
public void update(Observable o, Object arg)
PObserver pObserver = (PObserver) o;
System.out.println("ObserverA has watched data "+ pObserver.getData());
ObserverB
public class ObserverB implements Observer
@Override
public void update(Observable o, Object arg)
PObserver pObserver = (PObserver) o;
System.out.println("ObserverB has watched data "+ pObserver.getData());
以上是关于设计模式之观察者模式的主要内容,如果未能解决你的问题,请参考以下文章