IoC
(Inversion of Control)
中文译为控制反转
又称为“依赖注入”(DI =Dependence Injection)
IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。
其原理是基于OO设计原则的The Hollywood Principle:Don't call us, we'll call you(别找我,我会来找你的)。也就是说,所有的组件都是被动的(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)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。