首页 > 其他分享 >对依赖注入的理解

对依赖注入的理解

时间:2023-01-10 07:44:50浏览次数:29  
标签:依赖 养鸡场 builder 理解 管理员 Services logger 注入

依赖注入使用的是控制反转的模式,控制反转简单地说就是:以前由我控制的业务流,现在有人封装好了,我拿来用就可以。不需要我再熟悉业务中的每个类,不需要我来new对象出来。

依赖注入容器好比一个养鸡场,各种服务就是鸡,养鸡场有一个管理员。当我想吃鸡时,只需要管理员给我就可以,不需要我亲自喂鸡、杀鸡、取鸡。

//养鸡场的建立过程
//1、盖养鸡场
var builder = WebApplication.CreateBuilder(args);

//2、往养鸡厂里放鸡
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

//3、雇佣管理员管理
var app = builder.Build();
//吃鸡过程

//1、想吃鸡        
private readonly ILogger<WeatherForecastController> _logger;

//2、管理员送鸡
        public WeatherForecastController(ILogger<WeatherForecastController> logger)
        {
            _logger = logger;
        }

//3、开吃
_logger.LogInformation("吃鸡");

这种剥夺程序员new权力的举动,降低了代码的耦合性。当“吃鸡”的含义发生变化后,我们吃鸡过程的代码不需要改变,具体业务得看管理员向鸡场放什么鸡了...

标签:依赖,养鸡场,builder,理解,管理员,Services,logger,注入
From: https://www.cnblogs.com/tudou365/p/17039038.html

相关文章

  • kasan中地址计算的一点理解
    内核中利用kasan检查访问内存是否合法时需要将要访问的内存地址映射到shadow区中的对应位置,然后再判断在shadow区里存放的数值。下面是转换函数:staticinlinevoid*kasa......
  • 请求转换为XML格式 jaskson-dataformat 依赖相关
    ......
  • Sqli-labs三个注入关卡【1、5、11】
    常见手动注入闭合方式or1=1;'or1=1;"or1=1;)or1=1;')or1=1;")or1=1;"))or1=1;也可以是使用”\”转义字符,通过转义字符将闭合方式爆出常见符号十六进制表示0x3A:0x68h......
  • L1正则化和L2正则化的理解
    L1正则化和L2正则化的理解机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit)。即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能......
  • 机器学习16:简单, 直观的方法理解CNN(卷积神经网络)核心原理及实现
    1.CNN(卷积神经网络)的典型应用场景1.1WaveNet模型:​​https://deepmind.com/blog/wavenet-generative-model-raw-audio/​​如果你能训练人工智能机器人唱歌,干嘛还训练它......
  • 堆、栈、调用栈、解释型、编译型、静态类型、动态类型、弱引用、强引用 概念理解
    1、堆——存储引用数据类型;2、栈——存储基本数据类型和引用数据类型的地址;3、调用栈每次函数调用会将该函数执行上下文进行入栈操作;多个函数之间的调用,通过函数调用栈......
  • 关于NET异步的理解
    1、包含async、await关键字及Task相关方法,async和await必须成对使用(Task无强制要求)。2、异步是为了解决执行耗时操作所导致的线程阻塞。3、当在你的method中调用NET提供......
  • React Hooks的理解,React Hooks有哪些,解决了什么问题
    一、是什么Hook 是React16.8的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性至于为什么引入hook,官方给出的动机是解决长......
  • Windows注册表注入
    目前能够对exe文件注入,但是由于这种注入方式是针对所有的GUI程序,我目前写的代码是,只要开线程了,我检查是否有名为FlappyBird的程序在运行,有就会弹出一次窗口。这就会有一......
  • SSI注入漏洞总结
    前言在前几天的长安战疫CTF中第一次遇到了SSI注入漏洞,借此机会学习一波SSI现在大多数的Web服务已经很少使用SSI了,但是偶尔还是可能碰到基本概念SSI全称ServerSideInc......