CVKInjector 0.2.0

CVKInjector 0.2.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Romans Karpelcevs维护。



  • Romans Karpelcevs

CVKInjector 是 Objective-C 的一个简单的依赖注入辅助工具。您只需将一个类注册到注入器中,然后从需要它的地方通过接口请求一个对象即可。

没有花哨的宏,没有额外的语法,也没有像 Spring 那样自动注入的东西。这是一套任何人都容易理解的简洁的 Objective-C。

我为什么需要这个?

依赖于接口而不是具体实现有助于更好地设计和测试。例如,控制器不需要知道它使用的是哪个数据源,是网络、数据库还是模拟。

在某些情况下不可能将具体实例传递给初始化器,并且它会因许多对象而变得臃肿。依赖注入提供了一种干净的方式,将项目中的类解耦。

使用方法

注册类

使用 [CVKInjector instance] 来访问单例注入器对象。将一个类注册到注入器中。在任何需要第一个对象之前都可以,但将注册添加到 +load 方法是一个更简单的选项。

+ (void)load
{
    [[CVKInjector instance] registerClass:self];
}

您还可以将类注册为单例,这样就会注入相同的实例。所有类都使用普通的 -init 构造,并且不可配置。

注入依赖

每当您需要实现某个特定协议的对象时,您就调用 -objectForInterface: 方法。

@property (nonatomic) id<ProtocolName> property;

self.property = [[CVKInjector instance] objectForInterface:@protocol(ProtocolName)];

用户不知道确切的类实现,也不确定它是一个单例还是一个新的实例。

安装

CVKInjector 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

pod 'CVKInjector'

作者

Romans Karpelcevs,[email protected]

许可证

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