有一种架构叫组件化,你还不会?
组件化作为客户端项目架构侧一个非常重要的方案,近年来业界也在不断的探索以及各大厂都在不断的实践。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。
阿里面试
最近听一位坚守在阿里的同事说,杭州阿里那边,因公司 Android 中高级开发优化离职,导致部门紧缺人才,这段时间面了不下 30 个。
由于Android岗位僧多肉少的缘故,同事便从进阶基础开始问,就比如模块化、组件化的实现原理。没想到这 30 个人里面,仅有 1 个勉强过关。
下面整理了和他对话中阿里面试的问题:换成你,你该怎么回答?
第一:“什么是组件化开发?为什么要使用组件化开发以及他的优势分析?“
第二:“组件化架构搭建”
第三:“模块间的交互如何实现”
第四:“阿里ARouter框架在组件化架构中的使用”
第五:“APT技术实现手写ARouter组件化路由架构”
第六:“组件化开发中如何进行组件通信”
第七:“组件化开发在大型项目中的实战“
这些问题相信很多面试者都遇到过,但其面试结果却差强人意,组件化架构作为Android开发者必备的技能之一,人人都晓得做开发需要用到组件化,但对它的底层原理显然没有到家喻户晓的境地。不过也好, 这正切实的证明我们在Android开发的路上还是需要一段较长时间去探索。
作为目前Android行业中非常受欢迎的项目实战架构模式组件化开发。尤其是各个大厂方面,其原因究竟是什么?
- 在大厂的项目中,组件化都是必备的。
- 对于团队开发来说,组件化也是必备的。
- 对于初级进阶中高级的开发者来说,组件化也是必备的。
- 对于大项目的维护角度来说,组件化还是必备的。
- 对于提升开发效率来说,组件化依然是必备的
大家可以看一下下面的组件化项目架构详解图,你对这些知识点有了解多少呢?
- 集成模式: 所有的业务组件被“app壳工程”依赖,组成一个完整的APP;
- 组件模式: 可以独立开发业务组件,每一个业务组件就是一个APP;
- app壳工程: 负责管理各个业务组件,和打包apk,没有具体的业务功能;
- 业务组件: 根据公司具体业务而独立形成一个个的工程;
- Main组件:属于业务组件,指定APP启动页面、主界面 ;
- Common组件: 也就是功能组件(component_base 模块),支撑业务组件的基础,提供多数业务组件需要的功能,例如提供网络请求功能;
- component_data组件: 存放与项目相关的公共数据,例如bean的基类,IntentKV存数据的键值对等.
- SDK组件: 集成微信,支付宝支付,分享,推送等常用的第三方框架.
标签:新浪潮,架构,必备,业务,开发,组件,Android From: https://blog.51cto.com/u_16163510/6534889