事件总线

Android应用开发中,经常会涉及Activity,Fragment,Service等不同组件或者模块之间的消息传递,传统的方式会让不同组件和模块之间耦合严重。
事件总线就是用来简化Android应用中组件或者模块间的通信,从而实现模块间解耦的目的。基于观察者模式,它使用发布订阅的方式支持组件和模块间的通信,摒弃了观察者模式需要显式注册回调的缺点。

  • 事件Event:一个普通的POJO类,之包含数据,不包含对数据的操作。
  • 订阅者Subscriber:订阅某种类型事件的对象,通常会有一个回调函数用于对接收到的事件进行处理,订阅者可以订阅事件,也可以取消订阅的事件。
  • 发布者Publisher:事件的源头,发布某种类型事件的对象。
  • 总线EventBus: 负责订阅者,事件等信息的存储,同时处理事件的流动和分发,通过总线,订阅者和发布者是解耦的,互相不知道对方的存在。
    EventBus
《Android高级进阶》第18章 观察者模式的扩展: 事件总线
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,564评论 25 709
  • EventBus EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 And...
    凯玲之恋阅读 5,826评论 0 1
  • 随着年龄的,我们会越来越多的面对“离开”。 从年前我们回家到年后公婆来我家小住,今天他们又回老家。在一起的日子二十...
    huifang963阅读 2,870评论 0 0
  • by 金加隆 Fly without wings “嘿乔吉,我敢说你一定没有我飞得快!”弗雷德骑着他的横扫七星从高...
    金加隆阅读 4,990评论 1 4
  • public classMainActivityextendsAppCompatActivity { privat...
    烟雨冰封阅读 2,600评论 0 0