2010-07-14 72 views
3

我的一个朋友(他是一个.NET/C++开发者,因为我)问我:依赖注入:我们都需要知道吗?

依赖注入:做我们都需要知道吗?为什么?

你能告诉:

  1. 您的意见:我们真的需要知道这种模式,以及如何实现它?
  2. 很好的参考(链接),可以解释“为什么?”

非常感谢。

P.S.我了解到我问了很多...但我自己找不到好的参考...

+2

可能的重复:http://stackoverflow.com/questions/130794/what-is-dependency-injection – 2010-07-14 06:02:04

回答

1

好评论张贴在这里,但对于这个问题没有明确的答案:“你的意见:我们是否真的需要了解这种模式以及如何实施?“

从我的角度来看,它应该是‘是的’,如果选择的至少一个应用到你:

  • 你需要写(自动)单元测试的应用程序;
  • 你需要解耦应用程序的组件。
  • 你想有能力轻易地改变数据的来源问题

回答“为什么?”中列出了建议链接

非常感谢您的帮助。

4

依赖注入是一种用于创建松散耦合代码的工具。因此,这不是强制性的,但它会使更改,重构和测试更容易。如果你想彻底讨论DI以及如何应用DI,我推荐即将推出的书Dependency Injection in .NET。有几个章节可供下载,以帮助您入门。尽管本书中的例子都是C#,但这些想法是通用的。

3

依赖注入是一个该工具可帮助程序员或架构师设计模块化,独立,松散耦合且易于测试的代码。这不是一个强制性的要求,但是它倾向于使软件开发变得更简单,因为它减轻了很多依赖管理问题。由于它将你的组件从它们的依赖关系中解耦出来,因此它可以更容易地将这些组件与其他更大的产品单独进行单独测试。

大约一年前,我在SO上发布了关于IoC(控制反转)问题的答案。您可能会发现该答案很有用,因为这些概念也适用于依赖注入,因为IoC只是实现DI的一种手段。

Can anyone explain to me, at length, how to use IOC containers?

另外,这里有一些很好的参考更详细解释DI: