观察者模式定义了对象间的一种一对多的依赖关系,当对象的状态发生改变时,所有依赖于它的对象都将得到通知
被观察者public class ObservedTest extends Observable {
private ObservedTest() {}
public void notify(String data) {
this.setChanged();
this.notifyObservers(data);
}
public static ObservedTest getInstance() {
return ObservedSingleton.INSTANCE;
}
private static class ObservedSingleton {
private static ObservedTest INSTANCE = new ObservedTest();
}
}
观察者
public class WatchTest implements Observer {
@Override
public void update(Observable o, Object arg) {
System.out.println("观察者1收到通知: " + arg);
}
}
再创建WatchTest2与观察者1一样
测试public static void main(String[] args) {
ObservedTest.getInstance().addObserver(new WatchTest());
ObservedTest.getInstance().addObserver(new WatchTest2());
ObservedTest.getInstance().notify("测试");
}
运行结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)