swift - 将 SwInject 与中央观察者模式结合使用

标签 swift dependency-injection observer-pattern swinject

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

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

通常,我使用 Singleton 类来做到这一点,但这样做似乎违背了使用依赖注入(inject)模式的目的。

最佳答案

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

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

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

关于swift - 将 SwInject 与中央观察者模式结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177325/

相关文章:

ios - 如何识别以前安装在 iOS 设备中的应用程序?

ios - 当键盘快速出现时滚动 UITextView

java - 解耦项目引用和依赖注入(inject)

ios - 属性字符串未正确采用 kern 值

ios - ARKit——Xcode 9 Beta 6 中的错误

c# - 网络表单和依赖注入(inject)

c# - 在 IOC 容器中使用委托(delegate)和事件时避免强制依赖关系

java - JFrame 等待数据接收以执行其任务

java - 使用观察者模式保持 TableView 更新

java - 使用单例创建监听器对象不起作用