【编程思想】简述IOC控制反转

控制反转

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

我的描述

原本的程序, 当你这段代码需要用到某个模块时, 你就需要手动的去引入这个模块, 当模块被修改, 或被移动位置, 你的引用方式也要做出相应的修改, 此时你会觉得非常受限, 也非常容易出错。

因此, 有了控制反转这个概念

我们先把所有依赖收集到 容器中, 然后, 你需要什么就拿什么, 所有都是已经准备好的, 不用你再手动去引入,

“所有的对象创建与销毁交给IOC容器, 其余的程序只需要依赖于容器就可以了”

换句话说就是: 从我要什么去找什么 -> 我要什么你就自动给我什么

我来掌控主动权

awilix-koa 这个库就是专门为Node.js 做的 一种 DI 实现

你的支持将鼓励我继续创作