一直不喜歡 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();
});
}
}
