必看12

熟练组件化、模块化、路由 ARouter 使用与原理;

一、基础概念

1、什么是模块化?

答案

把整个项目按业务 / 功能拆分成多个独立 module,

比如首页、我的、订单、登录等;

代码分层、职责拆分,方便多人协作、解耦、复用。

2、什么是组件化?

答案

在模块化基础上,让每个业务模块可以单独编译、独立运行成 App

开发时单个组件可单独调试,打包时再合并成一个主 App。

组件化 = 模块化 + 可独立工程化

3、模块化和组件化区别

答案

  1. 模块化:只能作为 Library 依赖,不能单独运行;
  2. 组件化:既可作为 Library 被依赖,也可独立 Application 单独运行;
  3. 组件化更适合大型项目、并行开发、按需编译提速。

4、为什么要做组件化 / 模块化?

答案

  1. 业务解耦,模块间低依赖;
  2. 多人团队并行开发互不干扰;
  3. 单个模块独立编译,编译速度快
  4. 业务可按需裁剪、插件化扩展;
  5. 便于维护、复用、单元测试。

二、组件化核心问题

5、组件化最大难点是什么?

答案

各业务组件不能直接相互依赖,否则又高耦合;

需要路由框架实现跨组件页面跳转、通信、解耦。

6、组件化怎么实现互相通信、页面跳转?

答案

ARouter 路由框架 ;通过路径字符串跳转,不直接依赖目标类,实现完全解耦。

相关推荐
贾艺驰2 小时前
实战Android Framework: 新增一个系统权限
android
alexhilton7 小时前
使用Android Archive进行打包
android·kotlin·android jetpack
badhope9 小时前
做了几年安卓开发,这些坑我帮你踩过了
android·android studio
逐光老顽童2 天前
Java 与 Kotlin 混合开发避坑指南:30 个真实案例实录
android·kotlin
爱勇宝3 天前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
Yeyu3 天前
刷新一帧的艺术:invalidate / postInvalidate / postInvalidateOnAnimation全解析
android
潘潘潘3 天前
Android OTA 升级原理和流程介绍
android
plainGeekDev3 天前
null 判断 → Kotlin 可空类型
android·java·kotlin
plainGeekDev3 天前
getter/setter → Kotlin 属性
android·java·kotlin
YXL1111YXL3 天前
Handler 消息回收与协程异步执行的时序陷阱
android