小编Wil*_*rth的帖子

为什么不通过你的IoC容器?

在这个AutoFac"最佳实践"页面(http://code.google.com/p/autofac/wiki/BestPractices)上,他们说:

不要传递容器给组件访问容器,或将其存储在公共静态属性中,或者在全局"IoC"类上使用Resolve()这样的函数会破坏使用依赖注入的目的.这种设计与服务定位器模式有更多共同之处.如果组件依赖于容器,请查看它们如何使用容器来检索服务,并将这些服务添加到组件(依赖注入)构造函数参数中.

那么,让一个组件"动态"实例化另一个组件会有什么更好的方法呢?他们的第二段不包括"可能"需要创建的组件将取决于系统状态的情况.或者当组件A需要创建X个组件B时.

dependency-injection inversion-of-control

18
推荐指数
2
解决办法
3607
查看次数