.NET的IOC依赖与注入,以及IOC原理

本文介绍了.NET中的IOC(控制反转)和DI(依赖注入)概念,解释了两者如何帮助代码实现解耦和提高灵活性。文章详细探讨了IOC和DI的关系,以及DI在解决依赖问题上的作用。通过实例展示了简单的IOC依赖注入实现,并探讨了IOC容器的底层原理。
摘要由CSDN通过智能技术生成

.NET的IOC依赖与注入,以及IOC原理

大家好,我是行不更名,坐不改姓的宋晓刚,下面将带领大家从基础小白到高阶的.NET的IOC依赖与注入,以及IOC原理的学习,跟上我的步伐进入C#的世界。
微信:15319589104
QQ: 2981345658
文章介绍:

  • 在C#中,IOC(控制反转)是一种设计原则,它允许将依赖关系从硬编码的代码中解耦,使得代码更加灵活、可测试和可维护。IoC的核心思想是将依赖关系的创建和管理交给外部容器或框架来处理,而不是由代码本身来管理。

  • IOC依赖注入(DI)是IOC的一个实现方式,其中外部容器或框架负责创建对象、注入依赖关系,并管理它们的生命周期。通过依赖注入,可以将依赖关系从代码中分离出来,使得代码更加简洁、清晰,并能够更好地应对变化。

IOC

什么是IOC?—>IOC(Inversion of Control)控制反转

  • 使用对象是,由主动new产生对象转换为从外部第三方提供对象,在这个过程中,对象的创建控制权由程序转移到外部,此思想成为控制反转。
  • IOC的本质,就是专门用来创建对象的。

在这里插入图片描述

DI

什么是DI?

  • 在创建对象A时,如果对象A依赖于对象B,对象B依赖于对象C,在创建对象A时,自动创建对象C,满足对象B的依赖,再创建对象B,满足A的依赖,最好创建出对象A
    在这里插入图片描述

IOC于DI有什么关联

  • 使用第三发来创建对象实例,落地了IOC,完成的控制反转>目标
  • 在实现控制反转这个目标的时候,遇到对象依赖问题,刚好DI可以完美解决>解决依赖问题

简单实现IOC依赖与注入

接着上一篇:

依赖倒置的核心价值:如果没有依赖倒置的化,全部依赖的都是细节

分层架构:A层-B层-C层:如果我们下层修改了,可能导致上层随之改变,影响很大,使得我们架构不稳定

  • 现实举例子理解:小宋同学程序员,老板来了一个需求,功能全部今天完成,提交代码,第二天老板一看,为何没有提交,罚款,小宋:一直通宵,还没有下班。因为系统架构师依赖于细节的,细节来自各种业务逻辑的实现,业务多变的,新增,修改功能,修改细节会影响其他地方,修改一个地方,就影响了其他了,这就是程序员加班原因
  • 代码举例子理解:如果都是依赖抽象(抽象类/接口),抽象是相对稳定的,修改下层不会影响上层,因为上层不是依赖具体的,让我们代码更加稳定。

我们这个时候就是需要IOC对象的创建:

  • 前提蓝图:前提蓝图:如果对象存在层层依赖,有多少层依赖,就需要准备多个方法,如果有依赖的,能够做到,在创建对象的时候,能够自动把对象依赖的对象创建出来,然后进去,这样不就解决了本质问题

在这里插入图片描述

下面我们开始案例实操:

1.0创建UIL控制台.NET7,以及三个类库分别时IOC.Common,IOC.Interfaces,IOC.Services

1.1接口类库准备项目结构IOC.Interfaces

在这里插入图片描述

接口项目IOC.Interfaces,准备接口IHeadphone,IMicrophone,IPhoneÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上进的宋晓刚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值