EventBus之快速搭建簡單MVVM架構模式

2021-08-28 10:08:48 字數 853 閱讀 3277

起源於使用eventbus過程中,誕生於實踐和經驗和偶然。因為eventbus在其中不可剝離,我又稱其為eventbus核心事件驅動之mvvm模式。無論mvp/mvvm架構其目的都是把view和邏輯分離,我這裡核心思想是利用eventbus事件聯絡view和邏輯(viewmodle)。

view :即activity、fragment、layout xml等,持有viewmodle物件。

viewmodle:邏輯和運算,提供介面給view獲取要展示的資料;

modle:資料物件啦,規範的資料物件導向的程式設計必不可缺;

db:畫圖時畫這樣了懶得改。代表一切本地資料:資料庫,檔案,sharedpreferences…

net:遠端資料。

以天氣預報為例:

view註冊eventbus接收者;

view使用持有的viewmodel物件告知viewmodle去獲取天氣資訊;

viewmodle通過rsop得到天氣資訊,將資料封裝成modle;

viewmodle傳送eventbus事件告知view獲取天氣資訊結果;

view收到事件,通過持有的viewmodle物件獲取實際資訊展示在view上。

成功分離view與邏輯,比mvp更簡單更自由,viewmodle容易復用。

不足,現專案中的viewmodle是view建立時建立持有,不能實現多view共享記憶體中的viewmodle,可根據實況考慮使用單列或其它更好方式實現多view共享資料。eventbus事件驅動要求對事件規範化,建議事件不包含資料物件,獲取資料物件由viewmodle提供geter();

EventBus簡單實用

本人使用eventbus是在baseacitivity中的oncreate方法中註冊,就不需要一直註冊和取消註冊。oncreate 方法中註冊 eventbus.getdefault register this 在ondestroy 方法中取消註冊 eventbus.getdefault unreg...

EventBus簡單使用

eventbus是乙個開源的是乙個發布 訂閱的事件的框架,在業界即使沒有用過,也肯定聽過,要是真沒聽過,那從現在起你就聽說了。框架主要包含4個成分 發布者,訂閱者,事件,匯流排。訂閱者可以訂閱事件,傳送者發布事件,讓你的元件徹底解耦。使用姿勢 引入compile org.greenrobot eve...

EventBus簡單理解

eventbus是一款針對android優化的發布 訂閱事件匯流排。主要功能是替代intent,handler,broadcast在fragment,activity,service,執行緒之間傳遞訊息.優點是開銷小,更優雅。以及將傳送者和接收者解耦。那麼eventbus應該怎麼使用呢。1.首先我們...