例如,将autofac/ninject放在一个静态类中,这样我可以从不同的程序集/项目中访问它,这是不是一个好主意?
静态类MyContainer { static IoCContainer ContainerOfCurrentRuntimeContext;}
如果我使用它,我可以在不同的项目中使用相同的IoC上下文。
发布于 2012-07-12 00:23:51
不,这种方法会增加两个新问题:单例模式和服务定位器模式(这两种模式都被算作反模式)。因此,您的代码将耦合到新的依赖项:您的DI contaner。
通常,您可以克服使用服务定位器的限制,但这不值得这样做,因为为DI引入组合根要简单得多。
顺便说一句,你可以有一个配置,并在所有不同的项目中使用它。
https://stackoverflow.com/questions/11436559
复制相似问题