c# - 如何减少洋葱架构中的注入服务?
问题描述
我们的一项服务正在慢慢变成一个大型服务,我们有 10 多个注入服务;几乎像一个门面,但不完全是。
是否有一些经过验证的模式可以在 C#/.NET Core 中专门处理这个问题?我觉得如果我们聚合一些较小的服务,它不会使我们的代码更干净,事实上我担心相反。
由于大多数方法都使用许多服务,如果我们将方法组移出服务,那么我们要做的就是在代码的其他地方创建一个稍微小一点的大型服务。
代码示例:
public class FooService
{
private IServiceA _serviceA;
private IServiceB _serviceB;
public FooService(IServiceA serviceA, IServiceB serviceB)
{
_serviceA = serviceA;
_serviceB = serviceB;
}
}
public interface IServiceA
{
}
public interface IServiceB
{
}
我也有兴趣阅读有关处理此类重构或如何解决它的策略的任何研究。
解决方案
推荐阅读
- python - 如何从 GCP 中的 Cloud Functions 调用用 Go 编写的 Dataflow 作业
- php - mysql将一列中的相同值分组到回显表
- kubernetes - 如何使用 Kubernetes 在 Docker for Mac 中启用网络策略
- python-3.x - 无法在 pycharm 调试器会话中检查 DataFrame 类型的类属性
- android - 如何过滤 Firebase Firestore 中的集合?
- ios - 表格视图中的部分
- delphi - 如何在 TIdHTTPServer 中使用 TIdHTTPSession?
- angular - 当图像不存在时,Angular 通用/ng-toolkit/universal 会抛出错误
- r - 使用 r 中的一行对数据框进行分组
- dart - Flutter Sqflite 错误说 The method 'query' was called on null