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