常见的设计模式之观察者模式
观察者模式
观察者模式组成
实现代码:
1.定义接口
2.具体的接口
3. 具体主题角色
4. 具体的观察者
5. 测试
Observable
代码
class observable extends Observable {
void counter(int number){
for (;number>=0;number--){
this.setChanged(); //通知
this.notifyObservers(number);
}
}
}
class Watcher1 implements Observer {
@Override
public void update(Observable o, Object arg) {
System.out.println("Watcher1 is :"+arg);
}
}
class Watcher2 implements Observer{
@Override
public void update(Observable o, Object arg) {
if (((Integer)arg).intValue()<=5){
System.out.println("Watcher2 is :"+arg);
}
}
}
class TwoObservable{
public static void main(String[] args){
observable watch=new observable();
Watcher1 watcher1=new Watcher1();
Watcher2 watcher2=new Watcher2();
watch.addObserver(watcher1);
watch.addObserver(watcher2);
watch.counter(10);
}
}