dsi*_*cha 14 frameworks dependency-injection
我认为自己是一位经验丰富的程序员,并且理解依赖注入的基本概念.另一方面,我的大多数经验都是编写相对较低级别的单人数字运算代码.我没有任何从事大型企业项目的经验.
鉴于这种背景,我不能为我的生活包围我为什么有人需要一个框架来进行依赖注入.有人可以给我一个简短的概述这个框架是如何工作的,而不是涉及很多细节,并解释它如何使生活更轻松而不仅仅是滚动你自己?
编辑:我在这里得到了一些很棒的答案.我是否正确地说DI框架基本上为您提供了一种方便的方法来创建全局可访问的工厂,只要对象请求它们就会创建/返回依赖项实例?如果是这样,我一直在我的代码中以非常特殊的方式做这样的事情,但从未想过要使用任何形式的正式/重量级框架.
维基百科对福利和实施有很好的写作.
http://en.wikipedia.org/wiki/Inversion_of_control
我发现像Spring这样的IoC容器是有用的,因为它们所做的所有其他"东西",比如事务管理,以及它们提供的代码,比如代码模板,测试基类等,这些都是非常有用的.此外,在Java世界中,我认为IoC是对Java EE标准的反应,许多开发人员发现它太笨重了.IoC由Spring实现,它允许您设计POJO服务组件,在大多数情况下,我认为这比Java EE让人们跳过的箍更容易.
我很多,或者至少其中一些是精神手淫,在某种程度上,这意味着容器提供的IoC优势在大多数使用它们的项目中都没有得到充分利用.
"我们应该使用DI,因为我们将来能够轻松地交换我们DAO的实现,yippeeeeee" - 在我的经验中很少发生.人们使用它们是因为它们已成为标准,并且流行语恕我直言.我不是说这是坏事; 只是标准软件的IoC部分并不是它们使用的真正原因.