首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是数据传输对象(DTO)?

什么是数据传输对象(DTO)?
EN

Stack Overflow用户
提问于 2009-06-27 04:40:24
回答 6查看 254.3K关注 0票数 321

什么是数据传输对象?

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-06-29 13:09:42

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

DTO最常被N层应用程序中的服务层用来在其自身和UI层之间传输数据。这里的主要好处是,它减少了在分布式应用程序中需要通过网络发送的数据量。它们还可以在MVC模式中创建很好的模型。

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

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

从域对象到DTO再转换回来可能是一个代价高昂的过程。如果您不是在创建分布式应用程序,那么您可能不会像Martin Fowler explains here那样从模式中看到任何巨大的好处。

票数 326
EN

Stack Overflow用户

发布于 2009-06-26 20:43:28

DTO的定义可以在Martin Fowler's site上找到。DTO用于将参数传递给方法和作为返回类型。许多人在UI中使用它们,但也有人从它们中膨胀领域对象。

票数 40
EN

Stack Overflow用户

发布于 2009-06-26 20:44:46

DTO是一个哑巴对象-它只包含属性,有getter和setter,但没有其他有意义的逻辑(可能除了compare()equals()实现)。

通常,MVC中的模型类(这里假设是.net MVC )是DTO,或者DTO的集合/聚合

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1051182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档