大话DI依赖注入+IOC控制反转(一) 之 定义
程序员文章站
2022-08-28 14:05:08
依赖注入与控制反转 依赖注入与控制反转是老生常谈的问题。一般面试也会面试到这种问题。网上很多很多这方面的资料,搜索出来一大堆。下面我们大话一下这些个定义。 DI依赖注入 依赖注入既依赖,又注入。依赖的是容器,注入的也是容器,把你的对象放入容器,并且依赖于容器。 IOC控制反转 控制反转,意思是对象的 ......
依赖注入与控制反转
依赖注入与控制反转是老生常谈的问题。一般面试也会面试到这种问题。网上很多很多这方面的资料,搜索出来一大堆。
下面我们大话一下这些个定义。
di依赖注入
依赖注入既依赖,又注入。依赖的是容器,注入的也是容器,把你的对象放入容器,并且依赖于容器。
ioc控制反转
控制反转,意思是对象的创建由容器来确定。
在我们开始接触编程时,一般都是通过new来创建对象。这种做法有什么缺点呢?提高了创建对象时的耦合度、创建对象时的不统一。那么我们如果降低耦合度、统一地创建对象呢?
通过工厂方法来创建对象可以吗?通过工厂的确可以实现我们的目的。工厂模式,我们已经开始接触控制反转中的‘反转’了。因为对象不是我们创建,都是有工厂来创建。说到反转,其实我们在写代码时,有用到方法间的调用,都是使用‘反转’。封装都会用到反转,下面用白话说清楚一点。
反转第一次听比较难理解,其实说白了,就是原来你控制的逻辑、对象,变成交由第三方控制。如你创建了一个公共方法,提供rsa加解密。调用加密时,我们只需要提供一个钥匙与明文就能返回一个密文,不需要知道实现的逻辑。这就是反转,不是我们控制。
再聊聊控制反转的进化史。
随着对象的增多,工厂模式显得很‘累赘’,因为每个对象都需要自己写个方法甚至类去创建。
这时候,容器的想法出现了。用容器装载所有的对象,需要此对象时从容器取出即可。不需要管理对象。
可以关注本人的公众号,多年经验的原创文章共享给大家。
上一篇: 南北方中秋节吃啥,只是吃月饼吗
推荐阅读
-
Java:控制反转(IoC)与依赖注入(DI)
-
个人对【依赖倒置(DIP)】、【控制反转(IOC)】、【依赖注入(DI)】浅显理解
-
ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下
-
大话DI依赖注入+IOC控制反转(一) 之 定义
-
依赖注入(DI)和控制反转(IoC)的理解
-
spring-依赖注入(DI)&控制反转(Ioc)&Bean的三种装配方式
-
Spring(一)----IOC控制反转、DI依赖注入
-
Spring(一)——简介、IOC(控制反转)、DI(依赖注入)
-
Spring学习笔记——一、控制反转(IOC)和依赖注入(DI)
-
控制反转( IoC)和依赖注入(DI)