我们的一项服务正在慢慢转变为大型服务,其中我们有 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
{
}
我也有兴趣阅读有关处理此类重构的策略或如何解决它的任何研究。