【问题标题】:Role of interfaces in nestjs framework接口在nestjs框架中的作用
【发布时间】:2018-10-30 14:02:43
【问题描述】:

我正在尝试了解接口在 javascript nestjs 框架中的作用。我知道,一般来说,在编程中,我们应该总是对接口而不是类进行编程。它有助于依赖注入和测试。我试图弄清楚它是否与 Web 开发特别是无服务器编程相关。

有人愿意为 Nestjs 中的接口提供一些真实世界的用例吗?

谢谢, 斯里达尔。

【问题讨论】:

  • 这个问题太宽泛了。看来您指的是 DI 而不是一般的接口,不是吗?您可能需要检查 Nest 大量借用的 angular.io/guide/dependency-injection-patternangular.io/guide/dependency-injection
  • 嗨,我指的是typescript和nestjs框架中的接口。我提到 DI 是因为这是接口的一种常见用例。
  • 不清楚您是指一般的接口还是类型。除了可能特定于 Nest 或 Angular 的 DI 之外,您要问的问题是 OOP 和类型化语言的基础。我认为不应该将其缩小到特定的框架。我建议从学习 TS 开始,这是具有类型安全性的 JS。这个问题和 JS 没有任何关系,因为 JS 中没有类型或接口。
  • 接口用于指定类型。将它们用于 Web 开发或任何其他领域并没有什么特别之处。这就像询问如何在桌面应用程序中使用变量。它们只是存在并且可以在任何需要它们的地方使用。抱歉,我不确定你的意思,特别是因为你已经熟悉 TS、Angular 和 DI 概念。接口是基本的 OOP 概念,它不依赖于使用它的上下文。 TS 接口唯一的特殊之处在于它们提供了结构上的兼容性typescriptlang.org/docs/handbook/type-compatibility.html
  • 同意@estus,我使用接口就像我过去使用Java或C#一样。有时是简单类型,有时是合同。

标签: javascript typescript nestjs


【解决方案1】:

您的困惑可能是因为实体、DTO 和接口都作为选项存在于 Nest 中。

我还没有遇到过用户界面比 DTO 更可取的情况。

如果你来自 Angular,你可以考虑使用 DTO,就像 Angular 使用接口一样。

【讨论】:

    猜你喜欢
    • 2019-07-10
    • 2013-04-13
    • 2021-08-17
    • 2021-11-09
    • 2019-11-03
    • 1970-01-01
    • 2021-09-28
    • 2018-09-22
    • 2019-04-19
    相关资源
    最近更新 更多