1.组件化的分层
组件化分层的意义:
- 1.模块间解耦合
- 2.模块重用
- 3.提高开发的效率
组件的颗粒度划分如下:(注意:必须是上层依赖下层,不可以平行层之间互相依赖,如果平行层之间有依赖的必要性,那么应该把公共的部分,下沉到下一个层次,再进行依赖)

2.cocoapod的补充知识
当我们的项目用cocoapod进行三方库的管理时候,我们的项目下层依赖就会cocoapod,那么我们的项目是怎样查找到需要使用的三方库(比如AFNetWorking)呢?,如下图,我们cocoapod的本地库中,在master/specs下后面的0/a里面放着我们来下的的三方的一些信息和索引,当我们需要目标三方库的时候我们specs下子目录中进行匹配,找到响应的三方库的链接,跳转github进行下拉到本地供我们使用。因为我们组件化也是使用cocoapod进行管理的,所以这里建党讲解一下使用原理。
3.组件化的基本操作(注意:记得每次对组件进行改动后,我们在项目中打开查看都需要pod install 更新刚才修改的操作)
1.组件化的基本操作
在我们的电脑上新建一个目录:比如我新建—组件化,然后我们比如要写一个宏定义和分类的组件(我的这组件命名:LGMacroAndCategoryModule),在终端中cd 到我们要新建组件的目录下,写命令 pod lib create 组件名,然后终端就会从github下拉一个组件化的模版当当前的目录下,之后命令提示入下图跟着敲写即可,新建成功会running出这个新建项目来。