观察者模式(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()方法就行了,而消息接收者什么也不用做,等着被通知就行了。

相关文章:

  • 2022-01-22
  • 2018-10-28
  • 2021-08-16
  • 2021-07-04
  • 2021-08-05
  • 2022-01-22
  • 2021-11-16
猜你喜欢
  • 2021-12-17
  • 2021-07-29
  • 2022-02-21
  • 2021-12-24
  • 2021-12-22
  • 2021-10-27
  • 2021-12-08
相关资源
相似解决方案