组件化设计方案
- 方案1.静态库方式 +
Carthage方式
- 方案2.第三方管理工具
CocoaPods方式、Carthage方式
组件化设计应用
1、项目开发需求:业务分层
四层(示例项目分四层,很多主流项目也是这么分层的)
网络层:NetworkLayer(组件一)-> 静态库->.a文件
业务层:BusinessLayer(组件二)-> 静态库->.a文件
数据层:DataLayer(组件三)-> 静态库->.a文件
工具库:Utils(组件四)-> 静态库->.a文件
注意:每一个组件都是独立存在
2、项目开发 :问题
问题1、层与层之间的关系?
问题2、主程序如何引用静态库?
问题3、静态库引用静态库?
问题4、静态库如何引用pods第三方库?
问题5、各层之间为什么要通过组件化方式设计?
问题6、为什么要使用静态库的方式来做?
3、项目开发 :实战
项目分层
3.1 整个项目架构设计
- 网络基础库结构
- 网络层和业务层
- 业务层分层结构
- UI展示层结构
- UI展示层和业务层
3.2 项目实战案例演示
新建主程序WTVideo
项目
新建静态库(组件)
1、网络层:NetworkLayer(组件一)-> 静态库->.a文件
2、业务层:BusinessLayer(组件二)-> 静态库->.a文件
3、数据层:DataLayer(组件三)-> 静态库->.a文件
4、工具库:Utils(组件四)-> 静态库->.a文件
首先创建Cocoa Touch Static Library
静态库
静态库放在哪里?
解决:
组件单独分组(单独文件夹存放)-> 大文件夹 -> 根目录:Dependencies
UI处理单独分组(单独文件夹存放)-> 大文件夹 ->根目录:UI
然后按照一样的方式创建业务层BusinessLayer
、数据层DataLayer
、工具类Utils
以上,解决问题1、层与层之间的关系?
的问题。
那么接下来解决问题2、主程序如何引用静态库?
主程序引入静态库
主程序中如何引用上面我们创建的4个组件呢?
- 引入静态库到项目中
注意:如果一导入静态库程序报错,因为静态库的处于打开状态,关闭即可(关闭clean一下,同时关闭项目重新打开即可解决)
- 配置静态库
2.1、添加依赖(仅仅是把静态库导入进来了,但是还没添加)
2.2、链接静态库
注意:第三方库引用(链接)时,哪些需要?哪些不需要?
主程序依赖:UI层(需要),UI之外的不需要
- 配置Setting->头文件(Header)