App 组件化/模块化之路——构建开发架构思路

  • 时间:
  • 浏览:0

Router 层目前一俩个多多比较好的开源框架不能参考,来自 alibaba 的开源项目:ARouter

它是一俩个多不能独立运行的子工程,要调试 Module A 没有在 Dev 中将引用该组件

在 Manifest 文件中

在阅读了一定量的文档过后 ,根据实际项目开发遇到的问題,我总结了以下架构。将会水平有限,有不合理的欢迎拍砖

我认为你你这名 层是整个 App 架构的关键。将会根据实际业务需求,你你这名 层会分离出却说 独立组件(着实却说 对应于 Android Studio 的 Module),但哪些组件不能独立运行,为宜一俩个多小应用(组件如保独立运行将在应用层中会完整解析)。过后 哪些组件不再像传统的法律土办法进行相互引用,却说 采用了组件路由进行各个组件的通信。

却说 却说 ,作者着实接口设计将会提供应该是利他主义的。当然这纯粹是作者的一家之言,欢迎继续拍砖。

比如组件 A 中不能 跳转到组件 B 中的一俩个多 Activity 页面,传统的做法是在 ModuleAActivity

业务层要实现比较好组件分离,对守护进程猿现在编码思维要转换一下,要切换到 SDK 思维

想想项目中引用他人编写的库的接口使用法律土办法,就越快理解了。即站在使用者的厚度上思考:如保使用接口才是最方便的?之类公司现有好多少 App 产品,每个 App 都不能 使用同样的授权登录。没有你你这名 授权登录模块就不能独立成一俩个多组件。

当然实现里面的路由原理就有却说 却说 法律土办法,之类不能使用 Android 系统的隐式调用实现跳转通信。

这却说 一俩个多为宜的思路,不能看出你你这名 框架关键的每种是在于业务层的分离。不能 把原本项目中的基础模块抽取出来,倒进内核层中。没有下一步就现在过后刚开始构建大伙的内核层组件。可持续关注 wecodexyz/Componentization 项目的更新。

自下而上将 App 分为:

比较好的做法应该是

原本 Module A 与 Module B 耦合度就很强

假设将授权登录组件命名为auth。没有其它组件在使用的过后 将会之类以下代码片段

顾名思义,你你这名 层是对整个 App 的整合,也是 App 的入口。这里有 MainDev。其中 Main 是对各个业务组件的整合,是最终打包的产品的上层应用。而组件入口是独立运行和调试各个组件的子应用。

Dev 在 Android Studio 中是对应一俩个多 Application 。在 gradle 中配置为

随着业务的发展 App 开发技术也没有心智性心智成熟 图片 图片 ,对开发者来说 App 代码量也越快地增长到一俩个多数量级。对于如保架构 App 将会每个开发者面临的实际问題。好的架构不能提高开发者的速率单位,降低维护成本。

内核层是含高了为 App 提供公共服务的的却说 库。之类:公共资源、网络库、日志工具、数据库、图片加载等核心库。哪些是整个 App 基础库。

那哪些是 SDK 思维呢?

将会业务增长引起项目中代码量激增,以及历史遗留问題和外部混乱,作为一俩个多有代码洁癖的守护进程员,很早就现在过后刚开始思考如保组织 App 架构的问題了。目前遇到的主要有以下几点问題:

实际调用