Android模块化与组件化等Android开发经验谈Android开发

也谈组件化

2018-02-05  本文已影响328人  未来的理想

1、前言

组件化就是基于可重用的目的,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,以较少耦合、提升长远收益。

在之前我的一篇文章中,提到过关于组件化的一些概念,可以参考《GMTC移动开发者大会纪实(二)组件化只是一句口号吗》。接下来的几篇文章,主要会写下我们团队实施组件化的一些经历。

2、组件化原因

对于组件化,简单的说就是项目逐步变大过程中的必由之路。

在准备做组件化之前,随着逐步迭代现有项目结构暴露了一些问题:

正是因为这些问题,我们才逐渐规划了组件化。当然同时需要强调的是项目架构、开发模式等都不会一直存在最优解,架构、开发模式的选择和项目所处阶段、团队规模、业务场景等息息相关,毕竟在业务刚起步打量的阶段和精细化运营阶段团队的重心是不一样的。

3、正确认识组件化

现如今网上已经有很多组件化思路、实践等文章了,但是有必要提一下的是对组件化首先需要正确认识:

4、组件化思路

首先对于组件分为两类:技术组件和业务组件;而组件化具体的思路也一定要和自己的使用场景相结合:

对于我们的组件化,我们首先需要的是模块之间的解耦,形式就是各个Module自己能跑起来,因而我们的思路更偏向于前两种。

5、组件化实施过程

实施过程描述起来相对简单,但是实践过程其中酸爽只有经历才会明白这是一段血泪史。具体过程在下篇讲,此处只简述;

  1. 对于技术组件需要合理封装,减少之后可能存在的替换成本;
  2. 同时注意,将技术组件分为常用和非常用,可以选择自己需要的技术组件,避免一个统一的技术组件库过大;
  3. 将业务代码根据模块进行剥离,剥离成一个个的小模块;
  4. 单独的业务模块加上必要的技术组件,支撑在开发阶段的独立运行;

6、组件化实施难点

  1. 技术组件的整理、抽离;
  2. 一定要有的DisPatcher:提供隐式的跳转和模块间方法调用能力;
  3. 组件的划分;
  4. 调试及集成方式;

本文主要讲组件化的缘由、思路、难点等,有个概念就好;具体的实践过程、难点解决及方案思考在下篇文章,欢迎关注!

欢迎关注微信公众号:定期分享Java、Android干货!

欢迎关注
上一篇下一篇

猜你喜欢

热点阅读