java设计模式(四)观察者模式

常见的设计模式之观察者模式

  • 观察者模式
  • 观察者模式组成
    • 实现代码:
    • Observable

观察者模式

java设计模式(四)观察者模式_第1张图片

观察者模式组成

java设计模式(四)观察者模式_第2张图片

实现代码:

1.定义接口
java设计模式(四)观察者模式_第3张图片
2.具体的接口
java设计模式(四)观察者模式_第4张图片
3. 具体主题角色

java设计模式(四)观察者模式_第5张图片
java设计模式(四)观察者模式_第6张图片
4. 具体的观察者

java设计模式(四)观察者模式_第7张图片
5. 测试

java设计模式(四)观察者模式_第8张图片
java设计模式(四)观察者模式_第9张图片

Observable

java设计模式(四)观察者模式_第10张图片
代码

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);
}
}

你可能感兴趣的:(观察者模式,设计模式,java,java,设计模式)