观察者模式学习以及jdk实现
观察者模式存在观察者和被观察者,就像是订阅一样,比如一群读者订阅了短信通知,当短信有消息时,会调用订阅者自己的一个方法.使读者得到通知。
使用jdk自带的类模拟一个简单的观察者模式
package cn.test.pattern.observer;
import java.util.Observable;
import java.util.Observer;
public class Reader implements Observer {
@Override
public void update(Observable o, Object obj) {
System.out.println("recevice inform");
}
}
package cn.test.pattern.observer;
import java.util.Observable;
public class Inform extends Observable {
//改变状态
public void change() {
this.setChanged();
}
}
package cn.test.pattern.observer;
public class Test {
public static void main(String[] args) {
Reader reader = new Reader();
Reader reader2 = new Reader();
Inform inform = new Inform();
inform.addObserver(reader);
inform.addObserver(reader2);
inform.change();
inform.notifyObservers(2);
}
}
输出:
recevice inform
recevice inform
还没有评论,来说两句吧...