观察者模式和发布订阅模式的区别
观察者模式只有两个对象,一个是观察者(Listener)和被观察者;
观察者通过实现被被观察者提供的接口,add到被观察者的Listener列表里;
当被观察者内部产生相关事件时,通过其Listener列表来通知观察者;
而发布定义模式则多了一个中介(Broker,比如Kafka),即分为了生产者、中介、消费者三个角色了;
生产者产生事件后,将事件类型和事件内容发布到中介上;而消费者通过定义相关的事件类型来接收相关的事件通知;
这个接收可以是应用主动poll(pull)和push(中介来push,或者client库通过长连接轮休模拟服务端push到应用代码里)的;
posted on 2023-12-21 11:52 Silentdoer 阅读(10) 评论(0) 编辑 收藏 举报