Android 组件化设计
库 & 模块 & 组件 的区别:
- 库:提供单一功能或一些功能。
- 模块:指具体的业务逻辑模块,一个App可根据业务拆分为多个模块,如微信就定义了四个模块:微信、通讯录、发现、我。
- 组件:指功能组件或业务组件,每个组件可以独立运行,功能组件如:视频组件、支付组件、数据组件等,业务组件如:登陆组件等。
组件化优点:
- 在单工程项目中,各种业务代码混杂在一块,不方便后续的迭代、维护、调试,且代码复用性差。
- 在组件化中,将App剥离开,分成多个模块,每个模块都是一个组件,一定程度上解决了代码的耦合问题,且组件是可以单独运行的,方便调试。
由此可见,模块和组件的最明显的区别是模块相对于组件来说粒度更大,一个模块可能包含多个组件。