gpt4 book ai didi

c# - 保持 .NET 依赖注入(inject)有序

转载 作者:行者123 更新时间:2023-11-30 22:57:38 27 4
gpt4 key购买 nike

最近我开始使用 .NET Core 2.1 开发一个新项目,我决定使用 SOLID 原则并创建一个漂亮的项目结构。

这是一个 Web API 项目。一切正常我使用了很多依赖注入(inject),大部分东西都很容易测试。

这就是我必须注册所有服务的部分。我实际上有数百行看起来像这样:

services.AddSingleton<...>();

services.AddScoped<...>();

我为每项服务都设置了一条线,对于一个小项目来说它会很好。然而,当我有数百个这样的东西时,它就会变得一团糟。基本上,整个项目的顺序非常好,并且出现了充满 services.AddX 语句的 Startup.cs。

我曾考虑过使用注册服务的方法创建静态类,但这看起来不太好。

我将来需要添加更多服务,我不能只是继续创建静态类或填充旧类,因为我最终会再次陷入同样的​​困惑,而且我会更难记住我在哪里注册给定的服务。

最佳答案

如果你真的有数百个,你可能想用例如 Autofac 替换默认容器。这些类型的框架支持模块或某种“子容器”。

A module is a small class that can be used to bundle up a set of related components behind a ‘facade’ to simplify configuration and deployment.

Replace DI Autofac modules

关于c# - 保持 .NET 依赖注入(inject)有序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53450771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com