简介
组件化将我们这个一个但一的工程分解为各个组件,然后按照某种方式任意组织成为一个拥有完整业务逻辑的工程。
原因
- 耦合性严重
- 测试不独立
- 编译速度慢
- 设计模式的冲突
组件化的优势
- 组件的独立性
- 资源重用
- 高效迭代
- 配合我们二进制,加快项目的编译速度
组件化应该考虑的问题
1. 组件的划分
- 基础组件
- 基础配置(宏,常量), 分类,网络(AFN, SDW二次封装)、工具类(日期时间的处理, 文件处理, 设备处理)
- 功能组件
- 控件(弹幕,轮播器,选项卡);功能(断点续传,音频处理)
- 业务组件
- 业务线一, 业务线二。
组件间的关系
组件间的通讯
组件化的难点-解耦
最快的方式就是将需要用到的代码直接copy到需要的地方(eg:或许屏幕的宽高的代码)
组件内部依赖我们其他的某个公共的功能
我们可以使用block或者代理将实现的方式抛出来,我们就可以有更多地主动权