SuperAPI AI 工具集

dependency-injection

编程与开发

查看项目

更新于 10-15 23:43

技能介绍

该技能是一套面向 iOS/tvOS 的依赖注入(DI)决策框架,重点不在 DI 基础语法,而在于判断何时该用 DI、用哪种方式,以及如何设计可测试的协议。内容以决策树形式组织:先判断依赖是否需要独立测试、被多少类使用,再决定用简单构造器注入、协议加构造器注入,还是轻量容器;并提醒“不要什么都 DI”,无副作用的纯函数或值类型无需包装成协议。

主要能力包括:按对象创建方选择注入模式(构造器注入、默认参数注入、属性注入、工厂模式);判断何时用协议、何时直接用具体类型;依据团队规模与依赖数量选择容器复杂度(默认参数+简单工厂、手写容器、Swinject 等)。还给出 SwiftUI 环境注入、带调用校验的 mock、手写 Container 等示例。

明确列出的反模式包括:为每个类都建协议、协议一比一照搬类接口、协议中放可变状态、能用构造器注入却用属性注入、构造器参数超过 5 个、使用 Service Locator、mock 里执行真实副作用或只测试 mock 本身。适用场景为 iOS/tvOS 项目中的依赖管理与测试设计;限制是资料未说明具体版本要求、收费、价格与安装方式。