【发布时间】:2012-04-28 04:19:36
【问题描述】:
最近我发现自己不太关心为类定义依赖项并将它们传递给构造函数,但我总是传递 DI 容器并将其保存在私有属性中。这样我的类就不会有非常明确的依赖关系,当我需要时,我会从容器中获取所有内容。
虽然我对这个解决方案有一些不好的感觉(除了访问容器造成的开销),但我真的想不出太多的缺点。也许对依赖项的松散定义会降低类的可移植性,或者我在重构时会感到意外......?
您对此有何看法?
【问题讨论】:
-
将容器注入类只是服务定位器反模式的一种形式,并且(几乎)与调用静态服务定位器实例一样糟糕。