小编Rau*_*uez的帖子

当并非所有实例都被使用时,依赖注入是一个好主意吗?

我支持在您的应用程序上使用依赖注入,尽管有些人认为它会给代码增加不必要的复杂性.在过去的几天里,我想知道,在某些情况下,使用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

4
推荐指数
1
解决办法
100
查看次数