1.3.2 基于组件的应用设计
Android之父Andy Rubin曾在采访中说过,他在设计Android的时候,就期望Android能够像Facebook那样,从不同的应用中挑选所需的模块,像搭积木一样构造新的应用。
Android的应用是高度组件化的,开发者需要依照Android规范,编写一个个独立的组件,然后通过配置文件对每个组件的需求和能力进行描述,Android系统会统一调度这些组件。这就意味着,应用中的某一项功能,可能是由来自很多应用的若干组件共同完成的,各个Android应用,只有明确的组件边界,而不再有明确的进程边界和应用边界。
正是由于这种组件化的设计思想,衍生出了很多相关的设计,比如基于意图(Intent)的通信模式、进程托管、组件的生命周期,等等。将这些设计单独独立出来看会让人感觉有些莫名其妙,但站在组件化的角度来思考,却都是如此合情合理。
对于开发者而言,需要充分理解基于组件化的应用设计模式,根据Android的机制,合理地管理应用中的数据,控制好对象的生命周期,并充分利用组件化带来的灵活性和可复用性。
本书的第3章至第6章将针对基于组件的应用设计,进行更详尽的实践和分析。