Android 官方推薦架構(gòu) MVI 詳解三 一個Base APP架構(gòu)的組成?

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)的適合封裝在具體項目中
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容