一直不喜欢 Startup 中这两个可读性很比较差的糟糕命名 ConfigureServices 与 Configure。ConfigureServices 用于配置依赖注入以在运行时根据依赖关系创建对象,Configure 用于配置中间件(middleware)以构建请求处理流水线。
今天写代码写累后散步时思考了这两个命名问题,突然想到一个成语排兵布阵。ConfigureServices 是排兵,Configure 是布阵。如果对应公司运营,ConfigureServices 就是给工作岗位安排人员,Configure 是制定工作流程。
根据排兵布阵,想到的英文命名是 Arrange 与 Organize ,使用这2个命名改造后的 Starup 变成了这样:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
Arrange(services);
}
public void Arrange(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
Organize(app, env);
}
public void Organize(IApplicationBuilder app, IWebHostEnvironment env)
{
var builder = env.IsDevelopment() ? app.UseDeveloperExceptionPage() :
app.UseExceptionHandler("/Home/Error");
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
}
}.NET Core 中的命名问题:Startup 中的 ConfigureServices 与 Configure
原文:https://www.cnblogs.com/dudu/p/11827652.html