初探 Android 组件化,四个步骤把握组件化核心要领,安卓开发快速上手

模块化

模块是指独立的业务模块,比如支付模块、登录模块。在 AndroidStudio 中,一个模块同样对应着一个 Module,模块化就是将业务拆分成不同的 Module 模块,模块之间通过相互依赖的方式进行调用与通信。

从架构层面来说,二者的核心思想都是分而治之,都是为了提升代码的质量和可维护性,但是差别是在划分的粒度上,模块的粒度比组件的粒度高,通常情况一个模块中可能包含多个组件。

组件化是纵向分层,模块化是横向分块。

组件化的优点

  1. 提高开发效率:通过组件化的解耦,降低各个组件之间的相互依赖,使每个组件都是高内聚低耦合的状态。单独某个组件的修改不会对其它组件有重大影响,对于开发和测试来说,都提高了工作效率。同时可维护性也极大提升。

  2. 功能复用:每个单独的组件就是一个单一功能,对于业务线的开发团队来说,通过直接使用组件快速完成功能开发,同时减少了重复的开发工作量。

2. 组件化案例

在这部分,主要是结合网上一些优秀团队分享的组件化方案进行剖析。

2.1 有赞微商城 Android 组件化

有赞微商城分享的组件化方案详细介绍了实施组件化方案的背景,在基于日益复杂的业务模块中,代码出现大量冗余、打包时间逐渐增长以及各个业务模块之间相互耦合等。面临的问题有:

  • 模块只是项目结构的概念(一个模块一个 Module),在逻辑层并没有模块这个概念

  • 模块本身没有生命周期控制

  • 公用服务中心化,公用逻辑部分全部都在 Common 模块中

  • 模块对外暴露的服务不可知,都是直接依赖模块内部的代码逻辑

  • 模块无法单独打包,针对模块的代码改动,只能全量打包之后才能看到效果

这些问题也是很多项目发展到一定阶段要面对的问题,为了解决这种问题,就需要对架构进行调整重构,严格按照组件化的强要求来进行业务模块的拆分。下面我们看下有赞团队是如何去落地组件化方案。

1. 模块的拆分与抽象

将模块的功能抽象出基础类,形成模块化支持组件,这个基础 Module 提供的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值