博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android组件化开发实践(二):组件化架构设计
阅读量:7121 次
发布时间:2019-06-28

本文共 864 字,大约阅读时间需要 2 分钟。

先说说我自己的组件化架构设计方案,请看下图:

img_a0d81d6a6c254707004c4da2c17aa632.png
组件化架构设计图

图中可以看到,从上往下分为4层:APP壳工程、常规业务组件层、基础业务组件层、基础功能组件层。

为了便于理解,按照从下往上的顺序来讲讲我的分层思路。

  • 基础功能组件
    这个层的组件都是最基础的功能,通常它不包含任何业务逻辑,也可以说这些组件是一些通用的工具类。例如日志记录组件,它只是提供了日志记录的能力,你要记录什么样的日志,它并不关心;例如基础UI组件,它是一个全局通用的UI资源库;例如网络服务组件,它封装了网络的请求能力。
  • 基础业务组件
    该层组件是对一些系统通用的业务能力进行封装的组件。例如公共业务组件里,我封装了BaseActivity、BaseFragment等;例如分享能力组件,我封装了微信、QQ、微博等的分享能力,其他业务只要集成该组件就能进行相关分享;例如共享公共数据组件,我封装了应用可以全局访问的数据,如用户登录信息等。
  • 常规业务组件
    该层的组件就是我们真正的业务组件了。我们通常按照功能模块来划分业务组件,例如注册登录、用户个人中心、APP的首页模块等。这里的每个业务组件都是一个小的APP,它必须可以单独编译,单独打包成APK在手机上运行。
  • 核心管理组件
    主要包括路由服务组件、组件生命周期管理组件。路由主要是为了解决组件间通信问题,而组件生命周期管理主要是为了解决组件的初始化等问题。
  • APP壳工程
    壳工程依赖了需要集成的业务组件,它可能只有一些配置文件,没有任何代码逻辑。根据你的需要选择集成你的业务组件,不同的业务组件就组成了不同的APP。

组件之间必须遵循以下规则:

  • 只有上层的组件才能依赖下层组件,不能反向依赖,否则可能会出现循环依赖的情况;
  • 同一层之间的组件不能相互依赖,这也是为了组件之间的彻底解耦;

现在已经有很多成熟的组件化框架了,比较著名的有阿里的手淘atlas框架,但是这些框架可能都过于复杂,上手难度高,对很多人来说并不一定好用。总的说来,没有最好的架构设计,只有合适自己的架构设计,不能为了架构而架构。

系列文章

转载地址:http://pysel.baihongyu.com/

你可能感兴趣的文章
转载:Python正则表达式
查看>>
UVA10140 Prime Distance
查看>>
.NET深入 c#数据类型2
查看>>
DIV+CSS颜色边框背景等样式
查看>>
HDU 1018 Big Number【斯特林公式/log10 / N!】
查看>>
nefu 115
查看>>
drf版本控制 和django缓存,跨域问题,
查看>>
SVN环境搭建详解(来源网络)
查看>>
设备驱动基础学习--字符驱动实现
查看>>
sourceinsight安装记录
查看>>
PHP函数索引-F
查看>>
数组[]
查看>>
C++学习之基本概念
查看>>
el captain设置环境变量
查看>>
Educational Codeforces Round 37 A B C
查看>>
UVA 129 Krypton Factor(DFS 回溯)
查看>>
小程序(一)
查看>>
POJ 2689
查看>>
java 继承 String类
查看>>
开始gentoo之旅
查看>>