DependencyManager 1.0.0

DependencyManager 1.0.0

Michael Vorontsov维护。



  • Michael Vorontsov

DependencyManager

CI Status Version License Platform

DependencyManager 提供了一个简单的接口来声明 弱依赖。《弱依赖》意味着,只要应用程序的某个部分还在使用它,这些依赖就会存在于内存中,并且当它们不再需要时,将自动释放,从而减小内存占用。

DepedencyManager 自身提供了一个使用 swift resolve<T>(key: String, creator: () -> (T)) 函数通过唯一的键来检索/创建新服务的功能,该函数用于调用 creator 块以重新创建服务时。

通常建议将预期服务的公共接口描述为 Protocol,然后,提供私有类的实现以符合协议,并在同一文件中声明 DependencyManagerProtocol 的扩展以创建特定于协议的实现

protocol FetchStringsServiceProtocol: PublicServicePorotocol {
   func fetchStrings(handler:  (([String]) -> () ) )
}

extension DependencyManagerProtocol {
   func resolveFetchStringsService() -> FetchServiceProtocol {
       return self.resolve(key: "StringService") {
           StringServiceImp(...)
       }
   }
}
 
private class StringServiceImp: FetchStringsServiceProtocol {
   
   func fetchStrings(handler:  (([String]) -> () ) ) {
       ...
   }
}

有关详细信息,请参阅 示例

示例

要运行示例项目,请先克隆仓库,然后在示例目录中运行 pod install

要求

Swift4.2 兼容的框架,因此需要 XCode10

安装

DependencyManager 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'DependencyManager'

或者通过 Carthage

github "Michael-Vorontsov/DependencyManager"

作者

米哈伊尔·沃罗诺夫,[email protected]

许可证

DependencyManager 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。