观察者模式

观察者模式是我们常见的一种模式,去睡觉的小老鼠(观察者)将自己的小尾巴放在被放风小老鼠(被观察者)手里,放风小老鼠一看猫来, 一抓尾巴,大家都醒了,就都跑了


观察者模式_第1张图片

在java里面也提供了观察者和被观察者

  • 创建被观察者类,它继承自java.util.Observable类;
  • 创建观察者类,它实现java.util.Observer接口
    被观察者更新后需要调用 setChanged()方法 ,然后再 notifyObservers(),观察者们的update就会被调用了
    相当于设置更新,然后通知,我们写一个B站关注更新的模仿案例


    观察者模式_第2张图片
    B站二次元宅男

    观察者模式_第3张图片
    Re工作室

    罪恶的工作室按下了更新的按钮


    观察者模式_第4张图片

    所有的宅粉都收到了更新的通知

    接下来我们按照自己想法去实现一个观察者模式
    观察者
    观察者模式_第5张图片
    自定义一个观察者

    存放观察者的集合和构造函数


    观察者模式_第6张图片

    所需要的方法
    观察者模式_第7张图片

    我们的Re公司
    观察者模式_第8张图片

    宅粉
    观察者模式_第9张图片

    更新界面
    观察者模式_第10张图片

    按下按钮,宅粉收到了更新

    我们看下java是怎么实现的
    观察者模式_第11张图片
    Observer
观察者模式_第12张图片
Observable

可见比我们想的全面多了,同志们加油

你可能感兴趣的:(观察者模式)