什么是控制反转的正式定义?
可能重复:
什么是控制反转?
我总是听到用模糊的术语来描述控制反转,几乎总是通过范例而不是正式的定义
一方面,我听到它用对象编程来描述抽象,并放弃控制显式实例化一个新对象,它的对象图与请求对象的创建依赖关系注入它们的运行时条件
然后,我听到它在编程方面与程序员放弃了控制流程,以支持编码到扩展点(例如事件和回调)
究竟是什么在两种情况下被颠倒过来,他们有什么共同之处在于它们是IoC的等价例子。 我发现很难找到一个普遍接受的定义
这当然是一个合理的解释:
http://en.wikipedia.org/wiki/Inversion_of_control
我拥有这本书:我会推荐它来覆盖许多设计原则,包括IoC:
C#中的敏捷原则,模式和实践:Martin Fowler,Micah Fowler
您也可能会发现这些链接很有用:
简单C#中的DI和IOC示例
控制反转<依赖注入
两个精辟的“解释”:
IoC有时被称为“好莱坞原则”:不要打电话给我们,我们会打电话给你
IoC =婚姻; 国际奥委会容器=妻子