当前位置: 首页 > 工具软件 > Kodein-DI > 使用案例 >

IOC与DI

花飞尘
2023-12-01

IOC是一种编程思想。DI 是IOC的一种实现方式。除了DI方式,还可以用Service Locator去实现IOC。

什么是控制反转:当一个类需要使用一个组件或服务时,不在这个类里去实例化组件或服务。而是利用框架去创建。有类需要使用某一个组件时,框架依据配置将组件实例注入到这个类里。除了组件的创建,框架还负责组件的销毁。这样,组件生命周期的控制权交给了框架。

为什么要实现控制反转:

使用类中不再绑定组件的具体实现。例如,获取一组数据,可以从文件中读取、也可以从数据库读取。可以通过配置来指定具体的实现类。

简化组件的实例化过程。有些组件,例如数据库连接,实例化过程还是比较复杂的。

一个组件的实例化可以在类之间共享。没必要每个使用类都去创建一个。

当依赖太多时,程序员自己很难去管理资源。将依赖交给框架管理,在需要释放资源的时候,框架负责销毁组件实例。

 类似资料: