c# - 保持 .NET 依赖注入井然有序
问题描述
最近我开始使用 .NET Core 2.1 开发一个新项目,我决定使用 SOLID 原则并创建一个不错的项目结构。
它是一个 Web API 项目。一切正常我使用了很多依赖注入,大部分东西都很容易测试。
这就是我必须注册所有服务的部分。我实际上有数百行看起来像这样:
services.AddSingleton<...>();
或者
services.AddScoped<...>();
我的每项服务都有一条线路,对于一个小项目来说就可以了。然而,当我有数百个这样的东西时,它变得一团糟。基本上,整个项目的秩序非常好,而且 Startup.cs 中充满了 services.AddX 语句。
我想用注册服务的方法创建静态类,但这看起来不太好。
将来我需要添加更多服务,我不能只是继续创建静态类或填充旧类,因为我最终会再次陷入同样的混乱,而且我更难以记住我在哪里注册给定的服务。
解决方案
如果你真的有数百个,你可能想用 Autofac 替换默认容器。这些类型的框架支持模块或某种“子容器”。
模块是一个小类,可用于将一组相关组件捆绑在“外观”后面,以简化配置和部署。
推荐阅读
- python - Python:在字符串中间使用不合格文本创建正则表达式
- css - 空 li 仅用于样式;在 HTML5 中有效吗?
- python - 更快的rcnn张量流中的保持纵横比参数应该是什么?
- swift - 对 SegmentedControl 执行操作后如何在 PickerView 中设置行
- php - 当您使用包含功能并单击提交时,它会转到包含的文件
- algorithm - 两个数据集的算法匹配类分布
- javascript - 我怎样才能在同一个类的元素中得到一些东西?
- java - 如何重新初始化 Spring Bean?
- javascript - 如何从作品音频中获取振幅?
- c++ - 声明默认 ctor 是否明确禁止生成合成 ctor?