观察者模式只有两个对象,一个是观察者(Listener)和被观察者;
观察者通过实现被被观察者提供的接口,add到被观察者的Listener列表里;
当被观察者内部产生相关事件时,通过其Listener列表来通知观察者;
而发布定义模式则多了一个中介(比如Kafka),即分为了生产者、中介、消费者三个角色了;
生产者产生事件后,将事件类型和事件内容发布到中介上;而消费者通过定义相关的事件类型来接收相关的事件通知;
这个接收可以是应用主动poll(pull)和push(中介来push,或者client库通过长连接轮休模拟服务端push到应用代码里)的;
标签:订阅,观察者,模式,Listener,事件,中介,push From: https://www.cnblogs.com/silentdoer/p/17918674.html