【发布时间】:2010-07-15 19:36:57
【问题描述】:
我的一个朋友(和我一样是 .NET/C++ 开发人员)问我:
依赖注入:我们都需要知道吗?为什么?
请告诉我:
- 您的意见:我们真的需要了解该模式以及如何实现它吗?
- 很好的参考资料(链接)可以解释“为什么?”
非常感谢。
附:我知道我问了很多...但我自己找不到好的参考...
【问题讨论】:
标签: .net c++ architecture dependency-injection
我的一个朋友(和我一样是 .NET/C++ 开发人员)问我:
依赖注入:我们都需要知道吗?为什么?
请告诉我:
非常感谢。
附:我知道我问了很多...但我自己找不到好的参考...
【问题讨论】:
标签: .net c++ architecture dependency-injection
依赖注入是一种用于创建松散耦合代码的工具。因此,它不是强制性的,但它会使更改、重构和测试更容易。如果您想深入讨论 DI 以及如何应用它,我推荐即将出版的书 Dependency Injection in .NET。有几个章节可供下载以帮助您入门。虽然书中的示例都是 C#,但这些想法是通用的。
【讨论】:
依赖注入是一种工具,可帮助程序员或架构师设计模块化、独立、松散耦合且易于测试的代码。这不是强制性要求,但它确实倾向于使软件开发更简单,因为它减轻了许多原本会出现的依赖管理问题。由于它将您的组件与其依赖项解耦,因此也可以更轻松地对这些组件进行单元测试,并将其与更大产品的其余部分隔离开来。
大约一年前,我在 SO 上发布了一个 IoC(控制反转)问题的答案。您可能会发现答案很有用,因为这些概念也适用于依赖注入,因为 IoC 只是实现 DI 的一种手段。
Can anyone explain to me, at length, how to use IOC containers?
此外,这里有一些很好的参考资料更详细地解释了 DI:
【讨论】:
这是一个非常好的参考资料,说明依赖注入对于编写(单元)可测试代码至关重要:
http://www.youtube.com/watch#!v=wEhu57pih5w&feature=related
(干净的代码谈话——单元测试)
【讨论】:
这里发布了好的 cmets,但对于“您的意见:我们真的需要知道该模式以及如何实现它吗?”这个问题没有明确的答案
从我的角度来看,如果至少有一个选项适用于您,则应该是“是”:
回答问题“为什么?”列在建议的链接中。
非常感谢您的帮助。
【讨论】: