我对 DI 和 IoC 容器很陌生。我知道 IoC 容器应该只存在于项目的组合根目录中。而且我知道解决方案中的所有其他项目都不应该引用 IoC 容器。
到目前为止,一切都很好....
然后我想,如何在引导后在运行时创建新对象。
我找到了这两篇文章:
http://blog.ploeh.dk/2012/03/15/ImplementinganAbstractFactory/
http://netpl.blogspot.de/2012/12/di-factories-and-composition-root.html
如果我是对的,我必须在引导之后为我想在运行时实例化的每个对象创建一个工厂。这些工厂注入了 IoC 容器。
因此,工厂的项目必须引用 IoC-Library(因为构造函数注入)。
最后我迷茫了!
这些工厂住在哪里(在哪个项目中)?我想知道,因为所有其他项目(除了组合根项目)都不应该引用 IoC 库。
在哪一点我错了?