Fra*_*tti 7 oop castle-windsor inversion-of-control service-locator
最近,我一直试图了解使用Service Locator"反模式"和使用Castle Windsor容器之间的区别.我在互联网上找到了一些信息,我总结了迄今为止在未完成的博客文章中学到的内容.
编辑:到目前为止,我一直认为依赖注入是保证分离所需要的.但在我看到的任何地方,我都看到了像温莎城堡这样的容器方向.我想清楚地了解原因.请... 向我解释这就像我是一个6岁的孩子 :)
Mar*_*ann 18
有趣的是,你应该要求让它解释为你六岁; 这是一个像你五岁的解释 :)
我看到的每个地方都看到了像温莎城堡这样的集装箱方向
坦率地说,我认为其原因在于,大多数人实际上并不了解依赖注入是什么,这意味着他们不是要掌握控制反转的概念,而是寻找替代new他们已经习惯的关键字. .然后他们找到一个DI容器并(误)将其用作服务定位器.不幸的是,这很容易做到.
这就是为什么在我的书中,我解释了所有的DI概念,而没有将解释与任何单个DI容器相结合.这实际上是本书的大部分内容.
服务定位器和依赖注入是实现松耦合的两种根本不同的尝试.服务定位器具有许多缺点,并且没有DI提供的优点.这就是为什么我认为将Service Locator称为反模式是安全的.
您不需要DI容器来使用DI; 事实上,我会说,除非你采取一种相当复杂的方法,否则最好避免使用一种方法.