一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第14天,点击查看活动详情。
组件化可以将一个庞大的项目,按功能拆分成独立组件,多组件之间特定方式通讯,从而使模块之间解耦,提高团队协作开发效率。每一个组件都是独立的,可独立运行。一些底层的组件可重复利用,提高可重用性。
使用组件化的优势
- 模块间解耦
- 模块复用
- 提高团队协作开发效率
- 单元测试
不建议使用组件化的项目
使用组件化,理论上会使项目变复杂
设计模块的分离和相互之间的通讯,常用控件和功能的封装,对宏定义及分类文件、底层组件的下沉,都会让你的代码变得更庞大
所以,当项目或团队具备以下特性时,不建议使用组件化
- 项目较小,模块间交互简单,耦合少
- 模块没有被多个外部模块引用,只是一个单独的小模块
- 模块不需要重用,代码也很少被修改
- 团队规模很小
组件化分层
一般项目的组件化分为业务层、通用层、基础层
- 只允许上层对下层的依赖,不允许下层依赖上层
- 横向模块之间不能依赖,同级模块之间的通讯进行下沉
- 将通用组件、宏定义、分类文件、公共资源进行下沉,使其具备独立性和复用性
- 开发中,对于层次的构建,由下至上。避免因下层代码的改动,导致上层代码大量修改 例如:
CocoaPods
CocoaPods
是专门为iOS
工程提供第三方依赖库的管理工具,通过CocoaPods
,我们可以更方便地管理每个第三方库的版本,而且不需要我们做太多的配置,就可以直观、集中和自动化地管理我们项目的第三方库
日常开发中,我们经常使用CocoaPods
进行代码提交,也经常会拉取第三方提供的优秀框架使用
使用CocoaPods
必须对其进行安装
导入一个三方框架时,会在本地CocoaPods
的索引库中进行查找
在
.podspec.json
文件中,找到该框架在远程仓库的下载地址,从远程仓库将其导入
CocoaPods
流程图