Android 组件化

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

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

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

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

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

模块

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

组件

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

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

二. 组件化架构

1.基础层

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

2.组件层

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

3.应用层

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android组件化实践 demo地址:https://github.com/syg13579/assembleD...
    石亚刚阅读 2,701评论 0 3
  • 前言 组件化技术,在 Android 开发中有着举足轻重的作用。 随着时间推移,软件项目很多都会变得越来越庞杂。此...
    字节跳不动阅读 5,147评论 0 18
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,717评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 11,339评论 4 8
  • 怎么对待生活,它也会怎么对你 人都是哭着来到这个美丽的人间。每个人从来到尘寰到升入天堂,整个生命的历程都是一本书,...
    静静在等你阅读 10,406评论 1 6