zoukankan      html  css  js  c++  java
  • 设计模式读书笔记[2]:观察者模式(Observer)

    观察者模式(Observer):
          定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。


    这就是著名的“你不要找我,我会找你”模式,个人觉得这个模式相对来讲还是比较简单明了的,降低了消息发送者与消息接收者之间的耦合,消息接收由传统的拉模式转换为推模式,这样消息接收者就可以不用轮询是否有消息产生,节省资源。

    JDK的AWT/swing就大量使用了观察者模式,比如:

    Button btn = new Button("click me");
    btn.addActionListener(new ActionListener {
        public void actionPerformed(ActionEvent e) {
            // logic to process btn click event
        }
    });

    这个Button就是一个消息产生者,而它添加的那个匿名类就是消息接收者,在btn被按下时,它只要调用消息接收者的actionPerformed()方法就行了,而消息接收者什么也不用做,等着被通知就行了。

  • 相关阅读:
    nginx缓存
    java 常用命令工具
    shell流程控制--循环语句
    Python 文档 涉及词汇
    python 学习网站
    python web入门程序
    编译安装 Python3.6.1
    正则表达式与grep
    编译安装 Nginx1.12.1
    查看进程号
  • 原文地址:https://www.cnblogs.com/ini_always/p/2472800.html
Copyright © 2011-2022 走看看