如何将 ConfigureServices 方法(启动)拆分为多个文件

Mar*_*eio 6 c# dependency-injection separation-of-concerns repository-pattern fluentvalidation

关注点分离 (SoC)

在 ConfigureServices 中注册的依赖指令(启动类的方法)由不同的 DI 组成,如 Repository、Fluent Validations 等。

我将如何将 DI 注册分成单独的文件(如下所示)

在此处输入图片说明

Nko*_*osi 13

创建一个扩展方法来保存你想要的任何附加配置

public static class MyExtensions {
    public static IServiceCollection AddFluentValidation(this IServiceCollection services) {

        //...add services

        return services;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后ConfigureServicesStartup

public void ConfigureServices(IServiceCollection services) {

    //...

    services.AddFluentValidation();
    services.AddRepository();

    //...

}
Run Code Online (Sandbox Code Playgroud)

用于填充服务集合的扩展方法的使用通常由框架和第 3 方扩展使用。