0

将例如 autofac/ninject 放在我可以访问的静态类中是一个好主意吗?来自不同的程序集/项目?

静态类 MyContainer { 静态 IoCContainer ContainerOfCurrentRuntimeContext; }

如果我使用它,我可以在不同的项目中使用相同的 IoC 上下文。

4

1 回答 1

3

不,这种方法会增加两个新问题:单例模式和服务定位器模式(都算作反模式)。结果,您的代码将耦合到新的依赖项:您的 DI contaner

通常您可以克服使用服务定位器的限制,但这不值得这样做,因为为 DI引入组合根非常简单。

顺便说一句,您可以拥有一种配置并在所有不同的项目中使用它。

于 2012-07-11T16:23:51.483 回答