美文网首页
我们为什么需要DTO?(转)

我们为什么需要DTO?(转)

作者: stutterr | 来源:发表于2017-05-20 23:33 被阅读210次

DTO是什么?

数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。

为什么需要DTO

在传统的编程中,我们一般都是前台请求数据,发送到Webservice,然后WebService向数据库发出请求,获取数据,然后一层层返回;模型如下:

传统WebService模型

这种比较原始的请求方式带来的缺点有很多,多次 请求耗费一定的网络资源,减慢效率。如果一次性返回整个实体类,还可能造成数据库表结构的泄漏。

采用DTO模型之后,整个流程就不一样了:

DTO模型

这样带来的好处有:

  1. 依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析。

  2. 减少请求次数,大大提高效率。

  3. 按需组织DTO对象,页面需要的字段我才组织,不需要的我不组织,可以避免传输整个表的字段,一定程度上提高了安全性。

通过以上三点,可以看出DTO的设计应该具备这几个特点:

  1. 按需放入字段。

  2. 保证贫血模型,不要放任何逻辑在里面。

相关文章

  • 我们为什么需要DTO?(转)

    DTO是什么? 数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软...

  • 映射框架MapStruct

    一、MapStruct 开发中,我们经常需要将PO转DTO、DTO转PO等一些实体间的转换。比较出名的有BeanU...

  • [架构向] 谈Android中DTO -> VO的重要性

    标题虽然仅指DTO->VO,其实更准确的说,应该是各种DTO、DAO等都需要转VO ,本文仅以DTO为例。 不管你...

  • 谈Android中DTO -> VO的重要性

    标题虽然仅指DTO->VO,其实更准确的说,应该是各种DTO、DAO等都需要转VO ,本文仅以DTO为例。不管你在...

  • json转dto

    JSON与List转换 fastJson //list -> json List list = new Arra...

  • 如何用 SpringBoot 优雅的写代码

    1. DTO的使用 如果你的controller代码写成这样 那你就需要了解一下什么是DTO了。 用DTO后的代码...

  • ABP 中 DTO的类型

    与实体相关的DTO需要实现接口IEntity,ABP中有针对实体DTO的基类EntityDto,比如:...

  • 对象属性转换利器 mapStruct

    日常开发中,我们时长会写很多关于PO转VO的代码或者是VO转DTO相关的代码,造成我们的程序异常的臃肿。如下: 编...

  • 为什么我们要使用DTO

    基础结构解释 UI-表现层-与控制器打交道(UI向Controller 传递数据时使用DTO(数据传输对象)) S...

  • Springboot校验UUID

    Springboot应用往往需要对UUID进行校验,我们可以通过JSR-303 Validation机制实现dto...

网友评论

      本文标题:我们为什么需要DTO?(转)

      本文链接:https://www.haomeiwen.com/subject/akqmxxtx.html