Android App整体架构

App架构.png

如上图所示:整个app的架构分为了4层

  • 1、最上面是App壳,用于加载各个业务模块
  • 2、业务层:包含了现有的原生代码写的业务,以及后期使用RN接入新的业务模块
  • 3、服务层:包含了基础服务,UI组件和功能模块,以及第三方平台服务
    另外:页面路由和事件订阅会贯穿业务层和服务层
  • 4、基础库层:集中依赖1,2,3层普遍会使用到的基础库

基于目前单兵作战的现状,以及功能的快速变更,业务层没有进一步拆分,拆的过于细反而会影响开发效率,但随着业务的不断复杂增多,以及用户数量的增加,为了降低用户的更新成本,会加入热修复和插件化的功能,进一步拆分业务层,独立出业务组件发布到云效平台。

下图为具体各个模块对应的module分布,实线框为真实的module
App Moudle分布.png

业务层采用MVVM的开发模式:如下图所示:
View:负责UI显示,用户交互事件处理,
Model:数据模型,本地数据或者网络数据获取;
ViewModel:负责对Model和View的通信桥梁。

目前项目中没有用到数据库--Room,但已经预留了接口,Repository负责对VM层,具体数据来源VM不需要关心

App模块交互.png

除了基础服务层 和 业务层 两个module,其他module 都已经抽离并发布到云效-如下图所示:

云效的module.png

下图主要展示了基础服务层(app-base)和业务层(app)现有的代码目录结构,这些部分的代码会时常变动和新增,稳定之后会继续剥离,发布到云效仓库中。

App文件目录.png

目录不建议太要深,3级以内为最佳。

你可能感兴趣的:(Android App整体架构)