-2

可能重复:
什么是控制反转?

我总是听到用模糊的术语描述的控制反转,而且几乎总是通过例子而不是正式的定义

一方面,我听说它是​​在对象编程到抽象方面描述的,并放弃了对显式实例化新对象及其对象图的控制权,而不是请求将其依赖项注入到运行时条件中的对象

然后我听到它在针对框架的编程方面进行了解释,其中程序员放弃了控制流以支持对扩展点进行编码(例如事件和回调)

在这两种情况下到底是什么被倒置了,它们有什么共同点,它们是 IoC 的等效示例。我发现很难找到一个普遍接受的定义

4

1 回答 1

2

这当然是一个合理的解释:

http://en.wikipedia.org/wiki/Inversion_of_control

我拥有这本书:我推荐它,因为它很好地涵盖了许多设计原则,包括 IoC:

C# 中的敏捷原则、模式和实践:Martin Fowler、Micah Fowler

您可能还会发现这些链接很有帮助:

两个精辟的“解释”:

  • 国际奥委会有时被称为“好莱坞原则”:不要打电话给我们,我们会打电话给你

  • IoC = 婚姻;国际奥委会容器=妻子

于 2012-04-13T05:09:20.573 回答