日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【EventBus】发布-订阅模式 ( EventBus 组成模块 | 观察者模式 )

發(fā)布時(shí)間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【EventBus】发布-订阅模式 ( EventBus 组成模块 | 观察者模式 ) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、發(fā)布-訂閱模式
  • 二、EventBus 組成模塊
  • 三、觀察者模式





一、發(fā)布-訂閱模式



發(fā)布訂閱模式 :

  • 發(fā)布者 Publisher : 狀態(tài)改變時(shí) , 向 消息中心 發(fā)送事件 ;
  • 訂閱者 Subscriber :消息中心 訂閱自己關(guān)心的事件 ;
  • 消息中心 : 負(fù)責(zé)維護(hù)一個(gè) 消息隊(duì)列 , 根據(jù) 消息類型 將 消息 轉(zhuǎn)發(fā)給 對(duì)應(yīng)的 訂閱者 ;





二、EventBus 組成模塊



EventBus 中有以下幾個(gè)組成部分 :

  • Publisher 發(fā)布者 : 調(diào)用 post 方法發(fā)布事件 ;
  • EventBus 事件總線 : 該模塊接收 發(fā)布者發(fā)布的事件 , 將事件轉(zhuǎn)發(fā)給對(duì)應(yīng)的 Subscriber 訂閱者 ;
  • Subscriber 訂閱者 : 使用 @Subscriber 注解修飾 , 接收發(fā)布的事件 , 并處理事件 ;
  • Event 事件 : 自定義類型 , 通過不同的事件類型 , 確定事件應(yīng)該發(fā)送給哪個(gè)訂閱者 ;

EventBus 是 發(fā)布 - 訂閱 模式 的事件總線框架 , 事件的 發(fā)布者訂閱者 實(shí)現(xiàn)了解耦 , 簡(jiǎn)化了 Android 中各個(gè)組件之間的通信 ;





三、觀察者模式



觀察者模式中 , 目標(biāo)對(duì)象 ( Subject / 被觀察者 ) 中 , 維護(hù)了多個(gè) 觀察者 , 觀察者需要注冊(cè)到 目標(biāo)對(duì)象 中 , 如果目標(biāo)對(duì)象發(fā)生改變 , 通知所有的觀察者 , 觀察者對(duì)象 收到通知后 , 進(jìn)行相關(guān)處理 ;

上述結(jié)構(gòu)中 , 觀察者目標(biāo)對(duì)象 ( 被觀察者 ) 是有 耦合性 的 ;

發(fā)布 - 訂閱 模式 中 , 發(fā)布者 和 訂閱者 是完全解耦的 ;

發(fā)布 - 訂閱 模式 比 觀察者模式 多了一個(gè)消息中心 , 這個(gè) 消息中心 是 發(fā)布者 和 訂閱者 之間解耦的關(guān)鍵 ;

總結(jié)

以上是生活随笔為你收集整理的【EventBus】发布-订阅模式 ( EventBus 组成模块 | 观察者模式 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。