【23种设计模式】之观察者模式(observer pattern)

说明

  • 定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。

角色

  • 抽象主题
  • 具体主题
  • 抽象观察者
  • 具体观察者

代码实现

  • 观察者模式比较明显的标志就是Observer接口跟Observable抽象类。
public interface IPubLish {
    void doSomething();
}
public class Publish extends Observable implements IPubLish{

    @Override
    public void doSomething() {
        System.out.println("我开始做事了,有好几个人在观察我");
        super.setChanged();
        super.notifyObservers();
    }
}
public class Subsribe implements Observer {
    @Override
    public void update(Observable o, Object arg) {
        System.out.println("收到");
    }
}
public class Test {

    public static void main(String[] args){
        Subsribe subsribe = new Subsribe();
        Publish pubLish = new Publish();
        pubLish.addObserver(subsribe);
        pubLish.doSomething();
    }
}

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