来自当知百科
跳转到: 导航搜索

  IoC

  (Inversion of Control)

  中文译为控制反转

  又称为“依赖注入”(DI =Dependence Injection)

  IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。

  其原理是基于OO设计原则的The Hollywood Principle:Don't call us, we'll callyou(别找我,我会来找你的)。也就是说,所有的组件都是被动的(Passive),所有的组件初始化和调用都由容器负责。组件处在一个容器当中,由容器负责管理。

  简单的来讲,就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。

  国际奥林匹克委员会

  International Olympic Committee简称IOC

  -----------------------------------------------------------------------------

  通常框 架都是设计 在先,而应 用程序则设 计在后,这 种前辈拥有 主 导

  权, 进而「控制」后辈之 情形,就通称为「反向控制」。顾名思义,

  IoC(Inversion of Control)就是「反向控制」之意思。而它是相对 于「正向控制」一

  词,所以在本节 裡,将先介 绍「正向控制 (沟通)」之涵意,就能迅速 理解「反向

  沟通」之意义了。 IoC 观念和机制源自于 OO 语言(如 C++、Java 等)的類别继承

  体系, 例如 Java 语言中,父 類别(Superclass)的函 數可以主动呼叫子類别(Subclass)

  之函數,这就是 最传统的 IoC 机制,称为「继承体 系 IoC」。后 來,人们常

  将许多相关的父 類别 聚集起 來成为框架,逐渐地,延伸为:应用框架主动呼叫

  应用程序之 情形,就称

  为 IoC 。 或 者 說 : 会 主 动 呼 叫 应 用 程 序 之 框 架 , 就 称 为 IoC

  框 架 , 例 如

  Android、Spring 等等。

  输入输出捕捉(input output catch)

个人工具
名字空间

变换
查看
操作
导航
工具箱