面向对象设计原则之IOC控制反转

IOC (控制反转)

Inversion of Control

IoC可以认为是一种全新的设计模式,但是理论和时间成熟相对较晚。

什么是控制反转

控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。也可以说,依赖被注⼊到对象中。

DI是IOC的一种表现形式

两种方式

依赖查找

容器提供回调接口和上下文条件给组件。

依赖注入

组件不做定位查询, 需提供普通的方法让容器去决定依赖关系。

IOC概念图

在未使用IOC的时候 各个 Object 之间的耦合度很高, 谁也离不开谁

在使用 IOC 后, 各个 Object 之间通过 IOC容器 整个第三方角色来调度, 变成了可任意组装的模式, 谁需要的时候注入谁, 降低了耦合度

IOC概念图


谢谢最可爱的贝玺
你的支持将鼓励我继续创作