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技术,将“创建条件”,诉诸于依赖注入。
#####
愿你一寸一寸地攻城略地,一点一点地焕然一新
#####