EasyDependency
示例
要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
要求
- Swift 5.1
安装
EasyDependency 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'EasyDependency', '~> 3.0'
摘要
EasyDependency是一个非常轻量级的依赖注入框架,没有魔法。它仅仅是一个用于注册和解析依赖项的容器。没有关注添加支持循环依赖项或自动依赖项注入的功能。简洁是关键。
特性
- 从DI容器中注册和检索依赖项。
- 解析实现列表。
- 将依赖项注册为单例。
- 添加了自动属性注入的属性包装器。
使用
注册依赖项
这样可以在协议上注册一个实现。
try DISharedContainer.register(Storage.self) { _ in StorageAImpl() }
try DISharedContainer.register(Storage.self) { _ in StorageBImpl() }
try DISharedContainer.register(Storage.self, .lazySingleton) { _ in StorageBImpl() }
检索依赖项
您可以通过解析依赖项接口来检索实现。
let storage: Storage = try appContainer.resolve()
let storageList: [Storage] = try appContainer.resolve()
let storage: Storage? = try? (appContainer.resolve() as Storage)
致谢
这个概念是与Jelle Heemskerk一起创建的(《Github》)。
作者
Niels Koole
许可证
EasyDependency可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。