Java Web DTO 以及 VO 等实际意义以及作用

使用场景

在Java Web 开发中,接口请求返回的数据大部分都是组合而成的,有的来源于周边产品,有的来源于产品本身存储的数据,有的来源于综合计算之后的结果,有的来源于其他配置方面等。

实际开发中对应数据库总会存在 Entity, BO, POJO, Bean 等等各种定义,用来承接底层数据的内容。

DTO (Data transform object) 以及 VO (View Object ), 直译即 数据转换对象 以及 视图对象,DTO 用来做一般的数据承接,然后通过 映射关系转为某个或某些特定的对象,然后继续向下或向上做处理。

DTO

DTO 可以作为承接页面请求参数的承载体,也可以作为底层数据库向上转换为 页面数据的 Model 或 VO 的前身,总的来说就是一个对象转换器。

VO

Web 中我们常说的 Model And View 即指 给与页面的 数据模型和视图,接受或者给与页面请求响应时也往往采用 model 或者 VO 等类似的后缀创建对象名称

好处

  1. 不直接将底层数据库对象直接转为页面实体可以避免底层数据库结构的泄漏
  2. 页面需要什么就转递什么,控制数据的流入流出,得到安全性
  3. 可以根据实际需要将多个来源数据进行组装拼接
  4. 通过数据组合减少请求次数,提高性能

转换手段

一般可以通过 JSON 的 jackson, fastJson ,mapStruct 等等方式对 JSON 串或者实体对象实现整体转换

大概流程图

一般情况下到了 页面层,数据会减少很多,但也不排除组合数据后使得数据增多
Java Web DTO 以及 VO 等实际意义以及作用_第1张图片

你可能感兴趣的:(JavaWeb开发,web网站,java)