【问题标题】:What is the formal definition of Inversion of Control? [duplicate]控制反转的正式定义是什么? [复制]
【发布时间】:2012-04-25 12:01:14
【问题描述】:

可能重复:
What is Inversion of Control?

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

一方面,我听说它是​​在对象编程到抽象方面的描述,并放弃了对显式实例化新对象及其对象图的控制权与请求对象的关系,这些对象在运行时条件下创建了它们的依赖项

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

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

【问题讨论】:

标签: design-patterns dependency-injection inversion-of-control object-oriented-analysis


【解决方案1】:

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

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

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

Agile Principles, Patterns and Practices in C#: Martin Fowler, Micah Fowler

这些链接可能对您也有帮助:

两个精辟的“解释”:

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

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

【讨论】:

    猜你喜欢
    • 2011-05-30
    • 2015-03-21
    • 2015-11-24
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 2020-01-06
    • 2014-11-20
    • 1970-01-01
    相关资源
    最近更新 更多