Android 官方推荐架构 MVI 详解三 一个Base APP架构的组成?

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

扩展函数

  • String类扩展函数
  • view类扩展函数(ImageView、TextView 等等 view)
  • 等等其他扩展函数

总结

以上便是一个最小版Base 架构的基础组成部分(精简版)

  • model类涉及到具体的数据模型,封装在具体项目 moudel 中
  • 数据库读写由于涉及到具体的model类,封装到具体 项目 moudel 中
  • HttpUtils 封装通用的网络请求
  • Retrofit 需要封装具体接口,适合将其封装到具体 项目 moudel 中
  • view生命周期相关联的异步功能封装在BaseActivity、BaseFragment中,非view生命周期关联的异步功能封装在AsyncUtils中
  • manager类大多都是单例,切不可持有Context(Application除外)
  • utils类大多都是封装static方法,它不应该包含成员变量,当然别忘了将其构造方法私有化,它不应该被new
  • 异步功能封装建议使用协程
  • ImageLoadManager的封装是为了方便更换图片加载库,目前主流图片加载库有5个左右,更换时只需要更换ImageLoadManager中的方法即可,JsonUtils也是同理
  • ......
  • 通用公用的功能均可以封装在Base架构中,具体业务逻辑、数据相关的适合封装在具体项目中

你可能感兴趣的:(Android 官方推荐架构 MVI 详解三 一个Base APP架构的组成?)