Base類
- View :IView(非必須)、BaseActivity、BaseFragment、BaseMviActivity、BaseMviFragment
- ViewModel:BaseViewModel
- Intent:BaseIntent
- ViewState:BaseViewState
- Application:BaseApplication(非必須)
Manager類
- DownloadManager
- SPManager
- LogManager
- ImageLoadManager
- 等等Manager
Utils類
- DeviceUtils
- FileUtils
- LogUtils
- DisplayUtils
- DateUtils
- SPUtils
- JsonUtils
- XmlUtils
- HttpUtils
- ZipUtils
- AsyncUtils
- ToastUtils
- DialogUtils
- ViewUtils
- 等等Utils
擴展函數(shù)
- String類擴展函數(shù)
- view類擴展函數(shù)(ImageView、TextView 等等 view)
- 等等其他擴展函數(shù)
總結(jié)
以上便是一個最小版Base 架構(gòu)的基礎(chǔ)組成部分(精簡版)
- model類涉及到具體的數(shù)據(jù)模型,封裝在具體項目 moudel 中
- 數(shù)據(jù)庫讀寫由于涉及到具體的model類,封裝到具體 項目 moudel 中
- HttpUtils 封裝通用的網(wǎng)絡(luò)請求
- Retrofit 需要封裝具體接口,適合將其封裝到具體 項目 moudel 中
- view生命周期相關(guān)聯(lián)的異步功能封裝在BaseActivity、BaseFragment中,非view生命周期關(guān)聯(lián)的異步功能封裝在AsyncUtils中
- manager類大多都是單例,切不可持有Context(Application除外)
- utils類大多都是封裝static方法,它不應(yīng)該包含成員變量,當(dāng)然別忘了將其構(gòu)造方法私有化,它不應(yīng)該被new
- 異步功能封裝建議使用協(xié)程
- ImageLoadManager的封裝是為了方便更換圖片加載庫,目前主流圖片加載庫有5個左右,更換時只需要更換ImageLoadManager中的方法即可,JsonUtils也是同理
- ......
- 通用公用的功能均可以封裝在Base架構(gòu)中,具體業(yè)務(wù)邏輯、數(shù)據(jù)相關(guān)的適合封裝在具體項目中