我支持在您的应用程序上使用依赖注入,尽管有些人认为它会给代码增加不必要的复杂性.在过去的几天里,我想知道,在某些情况下,使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我很少调用SampleMethod2并且每次需要一个Class实例时我会注入它会怎么样?那不是在浪费资源吗?
我几天前得到了这个问题,我正试图找出答案.是否更容易不使用DI并让每个方法在使用时创建他们需要的实例以避免这种"浪费"?
由于DI提供的解耦,这是否是合理的"浪费"?
.net c# dependency-injection inversion-of-control unity-container