一个class直接调用另一个ErrorClass是不是错了?

Is it wrong for a class to call another Error Class directly?

我是 SOLID 原则的新手。我有这种情况:

class ErrorClass {

   constructor(name: string, description: string) {
      // 
   }

}

class Class1 {

   public someMethod() {
         try {
            // good scenario
         } catch (error) {
            throw new ErrorClass("Error Name","Error Description");
         }
   }

}

错了吗?我可以直接从 Class1 调用 ErrorClass 还是应该将 ErrorClass 作为依赖注入到 Class1 中?我担心如果我必须注入不同的错误 类 以及其他 类 它可能还依赖于?

,我的 Class1 构造函数会变得臃肿

感谢任何帮助或建议!

谢谢

我建议您阅读横切关注点。这里有几个链接:

  1. https://en.wikipedia.org/wiki/Cross-cutting_concern
  2. https://www.c-sharpcorner.com/UploadFile/vendettamit/managing-cross-cutting-concerns-the-logger-and-logging/

请注意,在大多数情况下,他们给出了记录器 class 作为横切关注点的示例 - 记录器是每个 class 都需要的东西,并且根据 SOLID 原则它应该作为每个 class 的 ctor 参数注入,对吗?错误的。 Logger class 是 SOLID 原则的一个例外,因为它是一个横切关注点。

在您的情况下,您的 ErrorClass 也是一个跨领域关注点。因此,它应该是一个全局静态,而不是作为参数注入到ctor。