从本篇开始,打算从广义上探究一下移动架构的思想;包括现在仍然比较火热的模块化,组件化, 插件化等架构思想。话说在前面,本篇旨在说明当前主流架构的设计概念,让大家了解当前的架构形式,以及主要用了什么设计思想,什么设计思路,算是引导篇…
一、模块化,组件化,插件化
上述概念已经好久了,或许还是有一些同胞对这些概念不是很清楚,大体知道是什么,但是详细也不知道是什么。现在来解析一下。
二、单工程模式
移动开发诞生,我们开发移动项目,我相信大多用的是单工程单任务的开发模式,二话不说,直接就开始写起,是不是这样呢?
new Project -> 分包 -> 写起。我相信都经历过,也写的比较爽,为什么呢?
这种模式不涉及乱七八糟的处理方式, 上手快,开发快,足够敏捷。那么原因是什么呢?Mobile Project 刚起步,项目都偏小,一些附加业务还没绑到App上。
1、模块化
Android Studio出来了,多出来了一个新的概念, Project, Module… 模块;当时以包的形式分离的公共包common,现在成了AS中的Module。
大家都知道,Module包含两种格式: application, library。也就是说,一个Module就是一个小的项目,也是AS概念中的模块。
因此我们开始设计common模块, common_business模块,甚至db模块。模块的好处是什么?
相比于包来讲,模块更灵活,耦合更低,随意插拔,想引入哪个就引入哪个。根据不同的关注点,将一个项目的可以共享的部分抽取出来,形成独立的Module,就是模块化。
当然,模块化不只包含公共部分,当然也可以是业务模块。
2、组件化
平时看看论坛,好多人都在问: 模块化和组件化有什么区别?