【发布时间】:2013-11-21 03:24:54
【问题描述】:
我有一个关于在使用依赖注入时使用工厂的问题:
如果我有一个 ViewModel 必须通过工厂创建另一个,它需要通过 ctor 注入工厂,但如果新 VM 必须执行类似操作,我是否必须注入一个工厂进入另一个?
这将导致链式工厂注入到另一个。
这是一个好习惯吗? 我个人不喜欢它。有没有更好的解决方案?
【问题讨论】:
-
使用工厂的一个重要原因是打破依赖循环。当 ViewModel 可以相互依赖时,注入工厂似乎是 IMO 的正确解决方案。
-
听起来不错。然而,虽然工厂将依赖其他工厂,但这正是 DI 的工作方式。图表可能很深,但没什么好担心的:blog.ploeh.dk/2011/03/04/Composeobjectgraphswithconfidence 相关:blog.ploeh.dk/2012/03/15/ImplementinganAbstractFactory
标签: .net mvvm dependency-injection ioc-container factory-pattern