题目:组件化的意义?(阿里)这道题想考察什么?
是否了解组件化的作用与概念理论
考察的知识点组件化存在的意义与理论的基本知识
考生应该如何回答- 组件化有什么意义,没有组件化会出现什么问题?早期的单一分层模式
问题一:无论分包怎么做,随着项目增大,项目失去层次感,后面接手的人扑街
问题二:包名约束太弱,稍有不注意,就会不同业务包直接互相调用,代码高耦合
问题三:多人开发在版本管理中,容易出现代码覆盖冲突等问题请看一下图
所有的代码都写在app模块中不同的包里面,请看一下图:
组件化的意义:不相互依赖,可以相互交互,任意组合,高度解耦,自由拆卸,自由组装,重复利用,分层独立化
此时:app不在是老大,子模块都是小弟
组件化后,所有的module都平起平坐,有人说app的module在组件化中是个壳子,这也是为什么成为app壳工程的原因
同学们思考,如果没有组件化,还是单一:
①.彻底砍掉order子模块,需要多少工作?
②.如何给项目增加一个子模块(钱包)?
........
2.组件 与 组件 的通信方式那些?
方式一 使用 EventBus的方式,缺点是:EventBean维护成本太高,不好去管理:
方式二 使用广播的方式,缺点是:不好管理,都统一发出去了
方式三 使用隐士意图方式,缺点是:在AndroidManifest.xml里面配置xml写的太多了
方式四 使用类加载方式,缺点就是,容易写错包名类名,缺点较少
方式五 使用全局Map的方式,缺点是,要注册很多的对象
方式六 使用 阿里巴巴开源框架 ARouter
为了让大家能轻松应对面试官追问,每天更新一期Android大厂面试题解析