我支持在你的应用程序上使用依赖注入,尽管有些人认为它给代码增加了不必要的复杂性。在过去的几天里,我想知道,对于某些场景,使用 DI 时可能会有些浪费。
让我用代码示例来解释它:
使用 DI
public class Class
{
private Service1 service1;
private Service2 service2;
public MyClass (Service1 service1, Service2 service2)
{
this.service1 = service1;
this.service2 = service2;
}
private int SampleMethod()
{
Console.WriteLine("doing something with service 1");
service1.DoSomething();
return 0;
}
private int SampleMethod2()
{
Console.WriteLine("doing something with service 2");
service2.DoSomethingElse();
return 1;
}
}
如果我很少调用 SampleMethod2 并且每次需要 Class 实例时都会注入它怎么办?那岂不是浪费资源?
几天前我收到了这个问题,我正在尝试找出答案。不使用 DI 并让每个方法在使用时创建他们需要的实例以避免这种“浪费”是否更容易?
由于 DI 提供的解耦,这是合理的“浪费”吗?
SMILET
相关分类