APP內各頁面數據一致有什麼比較好的處理辦法?
02-25
我的敘述可能不太準確,舉例:微博的首頁列表上有一微博,點贊數是2,評論數也是2。點擊這條微博進入詳情頁,這時經過一系列的操作,點贊數是10,評論數是10。返回首頁列表點贊數量和評論數量應該變化為10才正常。
目前我的方法是通過onActivityResult的方式去傳遞微博對象進而更新首頁列表,另一種方式是通過發送EventBus去更新。但是感覺兩種方式都不太優雅,想請教下各位有沒有更優雅的方式實現這個需求。
RxJava
在使用Flux架構的時候,我做過一種嘗試,多個頁面註冊同一個store,每個界面發出Action,都會交由同一個Dispatcher分發給store,從而達到你說的效果。然而這個做法和註冊eventbus沒有本質上的差別。
使用同一數據實例
觀察者模式你值得擁有
沒有什麼不優雅的啊。即使你用RxJava也是一樣的。
onActivityResult 使用過多會提高耦合度。eventbus能夠完成基本的解耦。
所以這樣的場景比較推薦用eventbus。
考慮到拓展性,現在你只是點進詳情頁的時候,點贊數增加了要實時更新。
打個比方:萬一以後搜索的時候,搜出來點贊數也增加了。也需要去更新。EventBus在這樣的場景就比較容易處理了。
這兩種方法挺規範的啊,怎麼就不優雅了呢?
推薦閱讀: