什么是数据传输对象?
在MVC模型类DTO,如果不是什么区别,我们需要两者吗?
什么是数据传输对象?
在MVC模型类DTO,如果不是什么区别,我们需要两者吗?
当前回答
一些程序员使用DTO来区分将通过API传递的最终对象数据。它基本上是端点的有效载荷对象。比如,你可以将你传递给服务器的联系人表单值对象命名为contactFormDto或contactFromPayload,然后你或任何其他程序员都知道你在那个对象中拥有的是数据的最终形状,它将通过网络传播。
其他回答
数据传输对象是用于封装数据并将数据从应用程序的一个子系统发送到另一个子系统的对象。
dto最常被n层应用程序中的服务层用于在自身和UI层之间传输数据。这样做的主要好处是减少了分布式应用程序中需要通过网络发送的数据量。它们还可以在MVC模式中创建很棒的模型。
dto的另一个用途是封装方法调用的参数。如果一个方法需要超过4个或5个参数,这可能很有用。
在使用DTO模式时,还可以使用DTO汇编程序。汇编程序用于从域对象创建dto,反之亦然。
从域对象转换到DTO并再转换回来可能是一个代价高昂的过程。如果您不是在创建分布式应用程序,那么您可能不会从这个模式中看到任何好处,Martin Fowler在这里解释道。
在MVC中,数据传输对象通常用于将域模型映射到最终由视图显示的更简单的对象。
从维基百科:
数据传输对象(DTO),以前称为值对象或VO 一种用于在软件应用程序之间传输数据的设计模式 子系统。dto通常与数据访问一起使用 对象从数据库检索数据。
DTO的定义可以在Martin Fowler的网站上找到。dto用于将参数传递给方法并作为返回类型。很多人在UI中使用它们,但其他人从它们扩展域对象。
数据传输对象(DTO)描述了“承载数据的对象” (维基百科)或“用于封装数据的对象”, 并将它从应用程序的一个子系统发送到另一个子系统”(堆栈溢出 答案)。
数据传输对象背后的原理是创建新的数据对象,其中只包括特定数据事务所需的必要属性。
福利包括:
使数据传输更加安全 如果删除所有不必要的数据,则减少传输大小。
阅读更多信息:https://www.codenerd.co.za/what-is-data-transfer-objects