【发布时间】:2014-06-11 22:51:16
【问题描述】:
StructureMap 是否具有类似于 CastleWindsor 的 TypedFactoryFacility 的功能,可以在其中动态生成抽象工厂?
这里是温莎的例子: http://blog.ploeh.dk/2012/03/15/ImplementinganAbstractFactory/
【问题讨论】:
-
我认为没有:groups.google.com/forum/#!topic/structuremap-users/0QA86QOEA_U。然而,总的来说,我会说这样的功能是多余的,因为手动创建这样的工厂需要几行代码,并且当正确应用 DI 时,根本不需要工厂。因此,您可能只需要创建一些工厂接口。
-
嗨史蒂文:我最终找到了这个功能。将工厂和 DI 混合听起来确实很有趣,但有时会发生!如果您对为什么要这样做感兴趣,我会建议上面的链接。这是不寻常的,但有时很方便。例如,您可能需要注入和惰性初始化,或者您的容器解析的对象可能会创建可变数量的线程,每个线程都需要一个资源,例如 dbConnection。就我而言,我有一个 WebAPI 控制器,它有时只需要昂贵的可插拔资源。我使用 DI 注入工厂,所以它是付费游戏。
-
@Steven 好的,刚刚看到你的简历。鉴于您已经编写了 DI 注入器,我想您已经知道我刚才所说的所有内容。干杯:)
-
对不起。我的第一条评论有点误导。我并不是说你在做 DI 时永远不需要工厂。我的意思是你需要它们的数量要少得多。但有时仍然需要工厂,我也确实在我的应用程序中使用它们。
标签: c# inversion-of-control ioc-container structuremap