Android輕量級MVVM demo, 簡單易讀易上手:
https://gitee.com/aican/mvvm_demo
mvvm框架的demo。精簡刪除google官方demo的工廠模式。
數據分爲:
data層::獲取api數據並解析成data層model
domain層:處理成ui層model
ui層::展示數據
使用dagger、databingding、rxjava、rxandroid等。
心得:
- 如何區分view和viewmodel,哪些東西需要寫在viewmodel?
mvvm有一個很大的優點就是可以做junit test 測試, 那麼理論上我們的所有的邏輯代碼,for、if、swith等等都要寫在viewmodel。view只用來展示數據,相反,寫在viewmodel的代碼也應該是可測試的java 代碼,不能包含android的東西。
如有錯誤麻煩指正,謝謝。