2021-10-13

本文介绍了依赖注入的概念,以遥控器和电池为例解释依赖,并阐述了注入是如何实现控制反转(IOC)。依赖注入通过容器来管理和提供依赖对象,使得对象不再需要自行创建依赖,降低了耦合度。传统方式是对象主动创建依赖,而在依赖注入中,这一过程反转,由容器负责。依赖注入有助于提高代码的可测试性和可维护性,使得对象专注于自身业务逻辑。
摘要由CSDN通过智能技术生成

什么是依赖注入?
1、什么是依赖,结合现实先想一想依赖这个词,就拿遥控器来举例:遥控器和电池他们就算依赖,遥控器必须依赖电池才能使用,电池就像一个接口,遥控器就像是实现了这个接口。有的人就想到了接口的概念,差不多就是这个意思,这个例子可能不太恰当,但是有助于你思考依赖这个概念。通俗讲:电池+遥控器才能运行,它们的关系叫做依赖。

2、什么是注入,在这里的注入其实是实现了IOC(控制反转),控制反转是一种思想,不是什么框架,也不是什么技术。传统程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象,而IOC是有专门一个容器来创建这些对象,即由IOC容器来控制对象的创建。谁控制谁?当然是IOC 容器控制了对象。控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。

3、什么是容器,容器表面意思就是盛放东西的物品,其实也差不多,不过咱们的容器是用来获取实现需要注入的对象的。

4、什么是反转,有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转。而反转则是由容器来帮忙创建及注入依赖对象。为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转。哪些方面反转了?依赖对象的获取被反转了。

5、上面通俗的讲解了依赖注入,只是为了有一个概念,依赖注入的思想:将相互依赖对象的创建、协调工作交给容器去处理,每个对象只需要关注其自身的业务逻辑关系就可以了。在这样的角度上来看,获得依赖的对象的方式,进行了反转,变成了由容器控制对象如何获取外部资源(包括其他对象和文件资料等等)。

通俗点说许多应用都是通过彼此间的相互合作来实现业务逻辑的,如类A要调用类B的方法,以前我们都是在类A中,通过自身new一个类B,然后在调用类B的方法,现在我们把new类B的事情交给容器来做,在我们调用的时候,容器会为我们实例化。

希望小伙伴们看了我上面写的能有一些理解,假如有讲的不好的地方,请谅解,也可以在下面留言指出来,大家一起讨论进步。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值