组件化搭建

作者: 旧城回眸丶凌乱一丗浮沉 | 来源:发表于2019-06-30 22:58 被阅读0次

为何要组件化开发,组件化方案有哪些

讲述开始之前,你有没想清楚你为何选择组件化开发,究竟他能给你带来哪些好处,对你能提升多少,对团队直接有什么优势?,比如公共组件下沉,通用的style,res等相通用的资源文件管理,网上有很多组件化方案,该如何选择,这是一条很难的决定,

组件化模块划分

image

其实从上图中你就可以发现,组件化,从上下来分一共四层,APP壳工程、常规业务组件层、基础业务组件层、基础功能组件层。我们从下往上一层层划分

基础功能组件层

基础组件层很好理解就是存放公共库,方便进行管理,他并不管理你外部要做什么,其实我们进行对基础库划分,又很难的选择,那些该下沉到基础库,那些该放到组件层,进行扩展。说一下我的思路吧。

1.网络请求

2.公共工具类

3.基础ui

4.BaseActivity/BaseFragment等

这就是基础库,当然你还可以根据通用性,记性工具类,下沉。但是这个选择要想清楚。你会问那些算是公共工具类,这个选择,其实很难决定。评论区见

基础业务组件层

其实我管这层叫做,功能组件扩展层,为什么这么说呢,比如我们要增加一个统计功能,每个页面都需要,那你还不能修改base,那我为何不在base 上扩展一层,来供组件依赖。

那就是他有些扩展工具,例如

1.统计模块

2.分享模块

3.上传组件模块

4.图片预览模块

5.录制相关模块

6.地图模块

7.更多扩展等等

常规业务组件层

就是我们的业务层了,业务层分为很多模块,简单说几个模块吧

1.这里就不做具体说明,根据情况划分,我们按照功能模块来进行划分,例如登录注册,个人中心,消息模块,音视频,直播模块等。他可以单独运行和打包在手机中进行测试。

APP壳工程

壳工程依赖了需要集成的业务组件,它可能只有一些配置文件,没有任何代码逻辑。根据你的需要选择集成你的业务组件,不同的业务组件就组成了不同的APP。

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

只有上层的组件才能依赖下层组件,不能反向依赖,否则可能会出现循环依赖的情况;

同一层之间的组件不能相互依赖,这也是为了组件之间的彻底解耦;

组件化方案

已经有很多成熟的组件化框架供我们选择,也可以参考成熟的组件化搭建一套完整的组件化方案。以下我列举一些进行参考:

阿里的atlas

一个很值得大家学习的项目,和架构方案MvpArms

组件化cc,这是我觉得很好的一套组件化方案cc

结束之前给你们贴个博客,我觉得讲的挺好浅谈项目架构重构之路——组件化与MVP

到这里就结束了,最后贴出来我司的组件化整体模块。

image image image

上图我要说一下因为我们数据统计是自己传日志文件,就在base上进行扩展,方便管理,并且不修改base任何代码,进行功能拆分,并且放一些公共模块。例如CC包,就是模块之间进行通讯的一个桥梁,因为我们并未选择阿里ARouter路由模式,commonLibrary,中也放了一些通用的dialog 和工具。

image

resLibrary就是整合资源管理,将所有的style,color,anim,drawble统一放在资源lib中进行管理。


image.png

app中包含推送消息分发,包含三方库的初始化,和Main主模块,你会问道mianActivity的fragment去哪里了,其实在个模块下。

最后结尾:谢谢大家阅读,组件化方案其实有很多,难得是选择功能进行划分,资源整理,工具分类,选择组件化是一个好处,但是你要保证大家将功能很好划分这就是个难题,模块下都是自己一亩三分地,怎么玩都是自己说了算,这样就违背了原始选择组件化的初衷。望大家在做管理时想清楚,再去选择。

qq群群号:118116509

微信号:y974415243

加我拉你进群

相关文章

  • iOS项目组件化搭建

    iOS项目组件化搭建 iOS项目组件化搭建

  • iOS项目组件化搭建

    iOS项目组件化搭建

  • Android 组件化开发

    本篇简单谈谈组件化及其搭建方案 浅谈对组件化的理解 什么是组件化?如何实现组件化? 不得不提的模块化 Androi...

  • 组件化架构搭建——铺路Android架构师

    组件化架构搭建——铺路Android架构师 组件化定义 组件化是建立在模块化思想上的一次演进,一个变种。组件化本来...

  • 组件化搭建

    为何要组件化开发,组件化方案有哪些 讲述开始之前,你有没想清楚你为何选择组件化开发,究竟他能给你带来哪些好处,对你...

  • 谈谈我的理解的Android组件化——2

    上一期的组件化以及本次的内容 发布包到本地库 搭建私有仓库,发布到私有仓库中 踩坑 搭建仓库的目的 上一期的组件化...

  • 全面组件化---DDComponentForAndroid分析(

    前言 继续上一篇,搭建组件化工程。 1.全面组件化---DDComponentForAndroid分析(1)2.全...

  • Android组件化搭建

    什么是组件化 为了降低项目耦合性,在Android工程中如何实施,目前有两种途径,也是两大流派,一个是组件化,一个...

  • 组件化框架搭建

    1.目的 各个模块能够在开发阶段独立运行,充分解耦; 各个组件(技术、业务组件)更加容易复用;(个人认为就是能让不...

  • Android组件化:stitch框架

    之前的文章【Android组件化开发框架】从整体上分析了要搭建一个组件化框架的技术原理。概括性的对组件化进行了简单...

网友评论

    本文标题:组件化搭建

    本文链接:https://www.haomeiwen.com/subject/kcpicctx.html