Android 架构 - 组件化
2023-12-21 00:14:27
一、概念
组件化是对单个功能进行开发,使得功能可以复用。将多个功能组合起来就是一个业务模块,因此去除了模块间的耦合,使得按业务划分的模块成了可单独运行的业务组件。
功能复用 | 每个组件都是一个单独的功能,可被不同的模块甚至不同的应用所使用。 |
提高效率 | 每个组件都是一个可单独编译运行的APP,由于拆分使得代码量少,调试起来快。 |
协同开发 | 组件之间相互独立,使得不同的开发人员能专注于各自的功能开发互不影响。 |
1.1?结构
依赖关系是上层依赖下层,修改频率是上层高于下层。对于业务组件由于存在页面跳转、方法调用、事件通信等问题需要特别处理,其它组件不存在耦合问题封装成?Library 即可。
基础组件 | 通用的基础功能,修改频率极低,可作为SDK供所有项目集成使用。 |
公共组件 | 依赖于基础组件,提供业务组件所需的基本功能(BaseActivity)。 |
业务组件 | 依赖于公共组件,对于一些公共的业务可以抽取成功能组件供业务组件依赖。。 |
壳工程 | 用于整合成完整的APP。(所有业务组件、提供?Application?唯一实现、Gradle Manifest?配置) |
二、组件单独调试
组件的类型,在打包时是一个引用库(Library)集成到项目中,在调试时是一个应用(apk)能单独编译运行。(一定程度上的独立,还是依附于整个项目中,想完全独立详见插件化)
单工程方案 | 以?module?形式存在,动态配置组件的类型。 |
多工程方案 | 以?library?形式存在,通过?maven?引用。 |
2.1?单工程方案
Gradle?提供三种配置来设定?module?的类型
2.2?多工程方案?
文章来源:https://blog.csdn.net/HugMua/article/details/135118920
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!