Asp.net core 依赖注入 (带案例以及注释理解)

依赖注入是一种设计模式,用于减少组件间的耦合。通过将依赖关系从组件内部移出,由外部容器管理,实现组件解耦。在.NETCore项目中,通过创建接口和实现接口的类,然后在服务注册时配置依赖关系,如使用`Services.AddTransient`,在控制器中通过构造函数进行依赖注入,从而可以在不直接创建对象的情况下使用所需服务,提高了代码的可维护性、可测试性和可扩展性。
摘要由CSDN通过智能技术生成

1.很多朋友不知道什么是依赖注入,接下来我用比较通俗易懂的话语 来帮助大家理解

依赖注入(Dependency Injection,简称DI)是一种设计模式,用于减少组件之间的耦合度。它的核心思想是,将组件之间的依赖关系从组件内部抽离出来,通过外部容器来管理这些依赖关系,从而实现组件之间的松耦合。
举个例子,假设我们有一个类A,它依赖于另一个类B。在不使用依赖注入的情况下,我们需要在类A中创建一个实例化对象B,并在类A中直接调用B的方法。但是,如果我们使用依赖注入,我们可以将类B的实例化对象交给外部容器管理,并将它注入到类A中,从而实现解耦。

依赖注入可以提高代码的可维护性、可测试性和可扩展性。它是现代软件开发中非常重要的一个概念。

2. 上面看不懂没关系,接下来我会通过 商品显示案例 进行演示,希望大家都可以自己敲一遍,以便更好的理解依赖注入设计理念

2.1 首先先打开vs编辑器 创建一个.net Core项目文件

在这里插入图片描述

2.2 创建成功后 项目结构如下

在这里插入图片描述

2.3 现在大多数设计模式已经是面向接口编程,所以在Models文件夹下创建一个IProductService接口

在这里插入图片描述

因为只是测试,所以就简单给类定义三个属性就行

在这里插入图片描述

2.4 以上步骤完成后,这时我们再次创建一个类,来实现IProductService这个接口并重写接口里面的所有方法

在这里插入图片描述

2.5 第五步 这是依赖注入最关键的一步,进行依赖关系配置(依赖注入的精髓就在于不需要自己手动的去实例化对象,而是交给容器底层去帮我们实例化)

这里通过Services.AddTransient方法对依赖关系进行配置将IProductService接口和实现它的类ProductService产生关联,其实还可以通过AddSingleton以及AddScoped方法来进行依赖关系配置,但是三者生命周期不同,具体详情可以查看下面的截图报表

在这里插入图片描述

在这里插入图片描述

2.6 接下来我们来到Home控制器 进行依赖注入(依赖注入通常是在类中构造函数中进行)

在这里插入图片描述

2.7 依赖注入成功后就可以使用 Product类中所有定义好的方法,此时_productService属性指向的就是Product类的对象,我们通过_productService属性来调用GetProducts方法来获取所有商品数据并渲染到相应的视图文件

在这里插入图片描述
在这里插入图片描述

2.8 最后展示的结果如下

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值