Android 组件化

在项目的开发过程中,随着开发人员的增多及功能的增加,如果提前没有使用合理的开发架构,代码会变得臃肿,功能间代码耦合也会越来越严重,这个时候为了保证项目代码的质量,必须对项目进行重构。

简单的开发架构是按照功能模块进行拆分,也就是Android开发中的moudle,每个功能模块就是一个moudle,每个功能的代码都在自己所属的moudle中添加,这样的设计在各个功能相互比较独立的情况下是比较合理的,当多个模块涉及相同功能时代码的耦合又会增加。

比如说首页和直播间模块都涉及到了视频播放的功能,为了解决代码的耦合,组件化的开发顺势而来。

一. 组件化和模块化的区别

演变过程: 无架构 -> 模块化 -> 组件化

模块

独立的业务模块,比如首页模块,直播间模块,

组件

单一的功能组件,比如视频组件,登录组件,下载组件,登录组件,支付组件;每个组件都可以以一个单独的 module 开发,可以单独抽出来作为SDK对外发布使用。

模块和组件区别:模块相对与组件来说粒度更大,一个模块中可能含有多个组件,本质思想相同,为了代码重用和业务解耦,在划分的时候,模块化是业务导向,组件化是功能导向。

二. 组件化架构

1.基础层

基础层很容易理解,其中包含的是一些基础库以及对基础库的封装,比如常用的图片加载,网络请求,数据存储操作等等,其他模块或者组件都可以引用同一套基础库,这样不但只需要开发一套代码,还解耦了基础功能和业务功能的耦合,在基础库变更时更加容易操作。

2.组件层

基础层往上是组件层,组件层就包含一些简单的功能组件,比如视频,支付等等

3.应用层

组件层往上是应用层,这里为了简单,只添加了一个 APP ,APP 就相当于我们的模块,一个具体的业务模块会按需引用不同的组件,最终实现业务功能,这里如果又多个业务模块,就可以各自按需引用组件,最后将各个模块统筹输出 APP。

你可能感兴趣的:(Android 组件化)