起源於使用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.首先我們...