首页 > 解决方案 > 如何减少洋葱架构中的注入服务?

问题描述

我们的一项服务正在慢慢变成一个大型服务,我们有 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
{

}

我也有兴趣阅读有关处理此类重构或如何解决它的策略的任何研究。

标签: c#dependency-injectionrefactoringasp.net-core-3.1

解决方案


推荐阅读