EasyDependency 版本 3.0.6

EasyDependency 版本 3.0.6

Niels Koole 维护。



EasyDependency 版本 3.0.6

EasyDependency

CI Status Version License Platform Twitter

示例

要运行示例项目,请克隆仓库,然后首先从 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文件。