Наилучший вариант для конфигурации приложений .net

Как можно более изящно сконфигать серверные .net приложения? Сейчас столкнулся с таким вариантом, что чем больше репозиториев и сервисов у меня появляется, тем больше разрастается Program.cs в итоге получается вот такая свалка из конфигураций

builder.Services.AddAuthentication(
    options =>
    {
        options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
        options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    }).AddJwtBearer(
    it =>
    {
        var key = Encoding.ASCII.GetBytes(builder.Configuration["JWT:Secret"]);
        it.SaveToken = true;
        it.TokenValidationParameters = new TokenValidationParameters
        {
            ValidateIssuerSigningKey = true,
            IssuerSigningKey = new SymmetricSecurityKey(key),
            ValidateIssuer = false,
            ValidateAudience = false,
            RequireExpirationTime = true,
            ValidateLifetime = true
        };
    }
);
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddScoped<IAccountRepository, AccountRepository>();
builder.Services.AddScoped<ICommunityRepository, CommunityRepository>();
builder.Services.AddScoped<IPostRepository, PostRepository>();
builder.Services.AddScoped<ITagsRepository, TagsRepository>();
builder.Services.AddScoped<AccountService>();
builder.Services.AddScoped<CommunityService>();
builder.Services.AddScoped<PostService>();
builder.Services.AddScoped<TagsService>();
builder.Services.AddScoped<GenerateTokenService>();

Вопрос: можно ли как-то изящно это конфигать в других классах?


Ответы (0 шт):