【发布时间】:2011-04-04 11:58:38
【问题描述】:
我正在尝试将 IOC 和 DI 改造(我知道这是个坏主意,但迟到总比没有好)到现有解决方案中。
代码库由大约 30 个项目组成,每个项目中都有类,这些类对外界几乎没有可见性。作为对 IOC 的相对较新的东西,我在重新编写代码时尝试使用最佳实践,并且似乎最好不要传递 IOC 容器或使其成为静态,因此我试图通过构造函数注入来完成所有事情。
但是,我的问题来了,我不得不跨项目公开大量的类(即物理 .csproj 文件)。我必须这样做是因为我的“配置模块”(我正在使用 Ninject,但这是一个与 IOC 无关的问题)需要了解任何项目中任何类中的所有内容,以便能够解决依赖关系。
我错过了什么重要的事情吗?如果我的所有类都基于接口,它们都应该是公共的吗?我可以以某种方式为我的每个 csproj 边界创建一个 IOC 容器并让它为我注入吗?
塔
【问题讨论】:
标签: dependency-injection ioc-container