首页 > 解决方案 > JavaScript 中的实体和 DTO

问题描述

我是 JavaScript 世界的新手,我所有的企业经验都围绕 C# 和 .NET。我曾经将 JavaScript 用作某些 Web 应用程序的辅助语言。现在我正在努力提高我在 JavaScript 方面的知识并制作简单的电子应用程序。

在 .NET 中,如果通过 ORM 与 DB 进行交互,通常应用程序会分别具有 DTO 和实体并映射它们,就像我可能看到的用于 Node.js 的相同(基于 Internet 搜索)。但是 Electron 应用程序呢?通过映射使用 DTO 和实体是常见的做法,还是这种方式有点压倒性?

标签: javascriptormelectron

解决方案


我认为 DTO 和电子之间没有联系,因为电子更像你常用的前端应用程序。DTO 用于后端与您的数据库对话。

这是我知道的一些 DTO 库。

SQL

  1. 续集
  2. 书架
  3. 类型ORM

NoSQL

  1. 猫鼬

人们使用 DTO 的原因如下:

  1. 将 DB ResultSet 映射到对象
  2. 将对象序列化为 JSON 以返回给客户端。
  3. 简化对象属性验证
  4. 数据库迁移

第 1 项和第 2 项是必需的。但它不适用于 node.js。

以下是以下原因:

  1. JavaScript 是动态类型的。
  2. 使用本机驱动程序 (SQL/NoSQL) 已经在服务器中为您提供 JSON。因此,不需要序列化返回给客户端。

DTO 非常棒,特别是如果您是 node.js 的新手。就个人而言,我不在 node.js 中使用 DTO。主要原因是我不信任 DTO 生成的查询,尤其是复杂的查询。我使用本机驱动程序,并在其上制作工具。我使用 json-schema 来验证对象并生成 typescript 类型定义。

以下是我用来代替 DTO 的工具:

  1. 合资企业
  2. 内克斯

这是一个您可以在不使用 DTO 的情况下查看的示例项目


推荐阅读