Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

readme.md

Observer 观察者模式

也称-发布订阅模式 (Publish-Subscribe)

在对象之间定义一个一对多的依赖,当一个对象的状态被改变,所有依赖的对象都会收到通知

典型的场景: 用户注册后,需要发送短信,发送测试经费,发送优惠券...可以通过此模式实现解耦 几种不同的实现方式:同步阻塞、异步非阻塞、进程内、跨进程的实现方式

  • 同步阻塞: 实现代码的解耦
  • 异步非阻塞: 实现代码解耦,提高代码执行效率
  • 跨进程: 进程间的观察者模式,解耦更彻底,使观察者和被观察者没有感知,一般是使用消息队列来实现,实现不同进程之前的观察者和被观察者的交互

本示例 使用了2种方式实现观察者模式

  • eventbus 使用Google Guava EventBus 一个比较著名的 EventBus 框架
  • observer 使用观察者模式的骨架代码实现