0

我正在使用 SWInject 来维护我的应用程序中的依赖关系,并使用协调器模式来管理逻辑和依赖关系。

SWInject 可以与应用程序不同部分的多个观察者的集中式推送通知框架结合使用吗?

通常,我使用 Singleton 类来执行此操作,但这样做似乎违背了使用依赖注入模式的目的。

4

1 回答 1

2

一般的 DI 试图将“我如何使用依赖项”与“我如何获得依赖项”分开。在大多数情况下,后者不应该是对象知识的一部分。

在您的情况下,notification center用于广播/接收内容的对象是单例的事实应该与您如何实现给定对象无关。

DI 方法是将其作为依赖项传递,让其他人担心还有谁可能在使用同一个实例。当然,在后台它可能仍然是一个单例,但是您可以在需要时(例如测试)更改此事实,而无需更改任何有关使用它的对象的内容。

于 2016-09-06T07:14:36.890 回答