在这种情况下是否需要使用依赖注入

Is it require to use dependency injection in this scenario

我有 class ClassA

ClassA 有方法 Method1

从另一个 class ClassB,我想从 ClassA

访问 Method1 方法

目前我使用的格式如下

B类文件

public void test()
{
  ClassA obj = new ClassA();
  obj.Method1();
}

我的问题

只有一种方法 testClassB 中使用 ClassA class 引用。为此,如果我们遵循 dependency injection(constructor),每次 ClassAClassB constructor 中初始化。因此,我计划在这种情况下避免使用 DI 并使用上述方法。对吗?

在上面的场景中,Method1 可能应该是一个静态方法,因为 ClassA 没有任何构造函数参数,而且似乎没有被多次使用。

依赖注入就是为了解决耦合之类的问题。例如,如果 ClassA 有一堆依赖项,则 ClassB 不需要关心 ClassA 是否作为依赖项注入。即:

private ClassA myClassA;
public ClassB(ClassA myClassA){
    this.myClassA = myClassA; // Class B does not need to care how myClassA was constructed!
}

另一个优点是您可以用接口替换 ClassA,这样 ClassB 甚至不必关心它使用的实际实现。这通常非常适合测试,因为您可以用模拟替换数据库访问或计时器等内容。

对于您有相当简单的情况 class,例如列表或点,通常没有太多理由使用依赖注入。