我在想,为什么Objective-C Ioc-Containers如此不受欢迎? 我发现只有很少的框架,只有几篇关于它的文章。
但是,Ioc-Containers在其他语言中非常流行,如C#,Java等。
是什么原因? 我想在Objective-C中使用其他东西来进行依赖注射吗?
答案 0 :(得分:2)
我有同样的感受,但我的所有iOS项目都使用Typhoon framework作为DI框架。 (有很多好理由why Typhoon is a good one)
A blog in Objc.io提到了关于将一种方法与另一种方法动态替换的混合技术。然而,作者仍然喜欢DI更像“它使依赖显式”(这也是我喜欢DI的原因)。
正如其FAQ中提到的台风:类别,方法调整,鸭子类型,类群集,类别中的关联引用,这些都不是DI的替代品。 (但some argues。)
DI / IOC的我认为Objective-c社区不受欢迎的主要原因是:没有自动连线功能需要对自定义组件组件进行编码。或者莫名其妙it's hard to sell。