根据代码的来源和控制程度,通常将依赖库分为一方库(1st-party)、二方库(2nd-party)和三方库(3rd-party)三类。这三类库在开发流程、维护方式和协作模式上都有显著差异。
一方库1st-party Library
一方库是指由自己团队完全掌控的代码库,也称为"自有库"或"内部库"。
特点
- 完全控制:代码所有权属于当前团队
- 高度定制:可根据项目需求随时修改
- 无协作成本:修改不需要跨团队协调
- 紧密集成:通常与主项目同步开发和发布
典型例子
- 项目内部的工具类/工具函数
- 当前项目的子模块
- 团队内部共享的公共组件
二方库(2nd-party Library)
二方库是指由有直接合作关系的团队(通常是同一公司内的其他团队)开发和维护的库。
特点
- 半控制状态:可以影响但不能直接决定库的演进
- 信任但需验证:比三方库更可信但仍需测试
- 有沟通渠道:可通过内部机制提出需求或报告问题
- 版本协调:通常需要与提供方协调升级
典型例子
- 公司基础架构团队提供的RPC框架
- 数据中台团队提供的数据访问SDK
- 内部UI组件库
- 跨事业部共享的业务组件
三方库(3rd-party Library)
三方库是指由外部组织或个人开发维护的开源或商业库。
特点
- 无控制权:完全依赖外部维护者
- 通用性强:设计面向广泛用户群体
- 标准化协议:通常遵循开源许可证
- 黑盒使用:通常以二进制或压缩包形式提供
典型例子
- 开源框架:Spring、React、Vue
- 工具库:Lodash、Guava、Apache Commons
- 商业SDK:AWS SDK、微信支付SDK

424

被折叠的 条评论
为什么被折叠?



