我总是听到用模糊的术语描述的控制反转,几乎总是通过例子而不是正式的定义
一方面,我听说它是根据对象编程来描述抽象,放弃控制显式实例化一个新对象,它的对象图与请求创建了依赖关系的对象注入运行时条件
然后我听到它在框架编程方面的解释,程序员放弃了控制流程,转而使用扩展点编码(例如事件和回调)
在这两种情况下究竟是什么样的反转,以及它们与IoC的等效例子有什么共同点。我发现找到一个普遍接受的定义非常困难
答案 0 :(得分:2)
这当然是一个合理的解释:
http://en.wikipedia.org/wiki/Inversion_of_control
我拥有这本书:我推荐它可以很好地涵盖许多设计原则,包括IoC:
Agile Principles, Patterns and Practices in C#: Martin Fowler, Micah Fowler
您可能还会发现这些链接很有用:
两个精辟的“解释”:
IoC有时被称为“好莱坞原则”:不要打电话给我们,我们会打电话给你
IoC =婚姻; IOC Container = Wife