model-view-controller - 什么是数据传输对象 (DTO)?

标签 model-view-controller architecture dto data-transfer data-transfer-objects

在MVC中模型类是DTO吗?如果不是,有什么区别,我们都需要吗?

最佳答案

数据传输对象是一种用于封装数据并将其从应用程序的一个子系统发送到另一个子系统的对象。

N 层应用程序中的服务层最常使用 DTO 在其自身和 UI 层之间传输数据。这里的主要好处是它减少了分布式应用程序中需要通过线路发送的数据量。他们还在 MVC 模式中制作了很棒的模型。

DTO 的另一个用途是封装方法调用的参数。如果一个方法需要四个或五个以上的参数,这会很有用。

使用 DTO 模式时,您还可以使用 DTO 汇编器。汇编器用于从域对象创建 DTO,反之亦然。

从域对象到 DTO 的转换以及再次转换可能是一个成本高昂的过程。如果您不创建分布式应用程序,您可能不会从该模式中看到任何巨大的好处,如 Martin Fowler explains here .

关于model-view-controller - 什么是数据传输对象 (DTO)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1051182/

相关文章:

java - 仅使用对象的少数属性有哪些缺点?

java - 在这种情况下我需要制作自定义事件吗?

c# - 在哪里处理 DTO<-> 业务对象转换

java - 为什么不从实体层次结构来创建 dto?

c# - 这是如何使用 Entity Framework Core 和 ASP.NET Core MVC 2.2+ 和 3.0 创建数据传输对象 (DTO)

java - 有关执行操作和使用具有多个 View 的单个模型的不确定性

java - 在我的 Spring 3.2 MVC 应用程序中,为什么我的 JSP EL 表达式在登录后没有被评估?

c# - 关于泛型的架构/最佳实践问题

c++ - 重构 "fA()"和 "fB()"为 "fAB(){return report;}"的可维护性问题

architecture - 可以使用 Keycloak 作为用户数据库吗?