一种组件化框架的探究之旅

概述

本文主要就组件化中服务实现类的实例化方法做简要探究,希望可以探索出一种简洁易用的组件化框架,本文到的主要技术有:

  • 编译时注解
  • javapoet的使用
  • 反射的使用

问题的引入

在软件开发中,当一款软件的规模和功能不断增多、丰富,原先的“一勺烩”架构往往显得捉襟见肘,为了便于团队协作、便于维护、便于升级,我们往往需要将一个软件划分为若干个模块(即我们所说的模块化),而这若干个模块又是依赖于很多个组件的(即我们所说的组件化),这里涉及了两个概念,即模块化和组件化,经常有读者反映搞不清楚这二者的区别,这里我帮大家总结了一下模块化与组件化的区别与联系:

一种组件化框架的探究之旅_第1张图片

以抖音APP为例,其可以这样进行模块和组件的划分:

一种组件化框架的探究之旅_第2张图片

如上图所示,按照业务,可以将抖音分为首页模块、直播模块、视频模块、消息模块4个模块(实际肯定比这个分的多,这里只是为了说明问题),每个模块完成了一定的业务逻辑,而这4个模块又是基于下面的视频播放组件、IO组件、网络组件等若干个组件来实现自己的业务逻辑的,这些组件反映在Android项目中就是若干个 'com.android.library',组件为模块提供服务(Service

你可能感兴趣的:(Android)