ASP.NET Core之由配置系统与创建app所想到的

先看文件配置的代码:

ConfigurationBuilder configBuilder=new ConfigurationBuiler();//典型的创建者模式
configBuilder.AddJsonFile("config.json",option:false,reloadChange:false);//添加json配置文件,属于是创建者模式环节中的“配置创建者条件”的环节
IconfigurationRoot config=configBuilder.Build();//创建了配置root,“创建了对象”
string proxyAddress=config.GetSection("proxy:address").Value;//获取配置值

再看asp.net core 的Main():

public static void Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);//典型的创建者模式

            // Add services to the container.
            //----------------属于是创建者模式环节中的“配置创建者条件”的环节,该环节应用了DI技术--------------------------
            builder.Services.AddControllers();
            // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
            builder.Services.AddEndpointsApiExplorer();
            builder.Services.AddSwaggerGen();
            //------------------------------------------------------------------------------------
            var app = builder.Build();//正式创建了对象

            // Configure the HTTP request pipeline.
            if (app.Environment.IsDevelopment())
            {
                app.UseSwagger();
                app.UseSwaggerUI();
            }

            app.UseHttpsRedirection();

            app.UseAuthorization();


            app.MapControllers();

            app.Run();
        }

从以上两个代码,可以看出,它们其实都属于创建者模式,该模式下,首先要规定创建者被创建前的一系列“创建条件”,然后再Build(),进行创建。
以上代码不同的是,后者使用了DI技术,将“创建条件”,诉诸于依赖注入。

posted @ 2023-05-21 14:45  JohnYang819  阅读(19)  评论(0编辑  收藏  举报