1 组件化的了解
组件化
概念:讲一个单一的工程的项目,分解成为各个独立的组件,然后按照某一种方式,任意的组织成一个拥有完整业务逻辑的工程
优势
- 组件的独立–> 独立编写,独立编译,独立运行,独立测试
- 资源的重用–> 功能代码的复用
- 高效的迭代–> 快速的增删模块
组件化的分裂
1 基础组件(基础的功能使用)
- 基本的配置–>(1 常量 2 宏 等等)
- 分类 —>(各种系统类的扩展)
- 网络 —>网络(对AFN的封装 对SDWebImage的封装)
- 工具 —>(一些常用的工具类,日期时间的处理,文件处理,设备信息等等)
2功能组件
- 控件 --> (封装的控件,轮播图,弹出选择框等等,UI相关)
- 功能 --> (音频处理,断点下载无UI相关展示)
3 业务组件
- 业务线1
- 业务线2
- ……
总结:
功能组件和基础组件之间尽量不要产生项目依赖关系
业务组件和业务组件不宜产生依赖
组件以什么样的形式存在
- 组件内部 --> 根据对应的设计模式划分文件夹结构
- 组件形式 --> 每个组件形式都是以pod库形式的存在
- 组件测试 --> 单独的测试工程
以怎么样的形式集成各个组件
以pods的形式安装各个组件远程私有库
组件之间是如何进行通信的
- 披露公开的API
- 通过中间件的中转
组件分离每个组建的难点
- 就是解耦