观察者模式学习以及jdk实现

水深无声 2022-07-29 08:50 90阅读 0赞

观察者模式存在观察者和被观察者,就像是订阅一样,比如一群读者订阅了短信通知,当短信有消息时,会调用订阅者自己的一个方法.使读者得到通知。

使用jdk自带的类模拟一个简单的观察者模式

  1. package cn.test.pattern.observer;
  2. import java.util.Observable;
  3. import java.util.Observer;
  4. public class Reader implements Observer {
  5. @Override
  6. public void update(Observable o, Object obj) {
  7. System.out.println("recevice inform");
  8. }
  9. }
  10. package cn.test.pattern.observer;
  11. import java.util.Observable;
  12. public class Inform extends Observable {
  13. //改变状态
  14. public void change() {
  15. this.setChanged();
  16. }
  17. }
  18. package cn.test.pattern.observer;
  19. public class Test {
  20. public static void main(String[] args) {
  21. Reader reader = new Reader();
  22. Reader reader2 = new Reader();
  23. Inform inform = new Inform();
  24. inform.addObserver(reader);
  25. inform.addObserver(reader2);
  26. inform.change();
  27. inform.notifyObservers(2);
  28. }
  29. }

输出:

recevice inform
recevice inform

发表评论

表情:
评论列表 (有 0 条评论,90人围观)

还没有评论,来说两句吧...

相关阅读

    相关 设计模式学习--观察模式

      观察者模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 ![Sout

    相关 观察模式学习以及jdk实现

    观察者模式存在观察者和被观察者,就像是订阅一样,比如一群读者订阅了短信通知,当短信有消息时,会调用订阅者自己的一个方法.使读者得到通知。 使用jdk自带的类模拟一个