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