【发布时间】:2010-12-31 21:25:33
【问题描述】:
我决定在一个更大的项目中使用 IoC 原则。但是,我想弄清楚困扰我很久的事情。我得出的结论是 IoC 容器是一种架构模式,而不是设计模式。换句话说,任何类都不应该知道它的存在,容器本身应该在应用层使用来拼接所有组件。从本质上讲,它成为了一种选择,在精心设计的面向对象模型之上。 话虽如此,如何在不将 IoC 容器撒在各处(无论它们是否被抽象)的情况下访问已解析的类型?我在这里看到的唯一选择是利用抽象工厂,它使用 IoC 容器来解析具体类型。这应该很容易换成一组标准工厂。这是一个好方法吗?这里有没有人用过它,它对你的效果如何?还有其他的吗?
谢谢!
【问题讨论】:
标签: inversion-of-control factory containers