单身或依赖注入

时间:2013-11-17 14:01:58

标签: ios dependency-injection singleton

我正在开发一个有RKManagedObjectStore的Restkit应用程序。目前,我已经以传统方式配置了一个单身商店,并在UIViewController中访问了商店,如下所示:

[RKManagedObjectStore defaultStore]

但是,现在我认为我的所有控制器都将隐式依赖于我在应用程序委托中配置这个共享singelton实例。是否会更好地设计意识,而不是使用defaultStore,在中间控制器之间注入RKManagedObjectStore的实例?

有人可以在iPhone应用程序中解释使用单例共享实例与依赖注入的优缺点,反之亦然吗?

1 个答案:

答案 0 :(得分:0)

我倾向于不这样做。在某种程度上,这是因为使用了RestKit,这意味着它是内部数据模型和外部数据模型之间的接口。因此,我喜欢创建一个自定义单例,它包含了所有这些逻辑。它根据我的内部数据模型提供接口,并通过RestKit处理所有远程交互和映射。使用核心数据时,此单例也可用于调解对上下文的访问。