我决定在一个大项目中使用IoC原则。然而,有一件事情一直困扰着我。我的结论是,IoC容器是一种架构模式,而不是设计模式。换句话说,没有任何类应该知道它的存在,容器本身应该在应用程序层使用,将所有组件连接起来。基本上,它成为了一个选项,在一个良好设计的面向对象模型之上。
话虽如此,如何在不到处使用IoC容器的情况下访问已解析的类型(无论它们是否被抽象)?我唯一看到的选择是利用抽象工厂使用IoC容器来解析具体类型。这应该很容易地替换为一组标准工厂。这是一个好方法吗?有人在这里用过它吗?它的效果如何?还有其他可用的方法吗?
谢谢!