数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从数据库中检索数据。数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具有任何行为除了存储和检索的数据(访问和存取器)。
数据:
数据就是数值,也就是我们通过观察、实验或计算得出的结果。数据有很多种,最简单的就是数字。数据也可以是文字、图像、声音等。数据可以用于科学研究、设计、查证、数学等。指进行各种统计、计算、科学研究或技术设计等所依托的数值。柯岩 《奇异的书简·船长》:“ 贝汉廷分析着各个不同的数据,寻找着规律,终于抓住了矛盾的牛鼻子。
dto和vo的区别如下
1、DTO = 视图模型
在一个DTO对应一个VO的时候,DTO = 视图模型。 DTO 和 VO 的属性值基本是一致的,而且他们通常都是 json对象,因此没必要多此一举,但不要忘记这是实现层面的思维,对于设计层面来说,概念上还是应该存在 VO 和 DTO ,因为两者有着本质的区别,DTO 代表服务层需要接收的数据和返回的数据,而 VO 代表展示层需要显示的数据。
应用时,可以在前端将DTO包成VO,也可以在服务端的Controller层,service层包成VO。VO转换成DTO同理。
在这种情况下可以实现,前后端相关的东西只有api的url和vo,而且大多数情况也是只有一个客户端的。
2、DTO ≠ 视图模型
在一个DTO对应多个VO的时候,DTO ≠ 视图模型。此时需要在前端将男性打包成帅哥或者靓仔显示;请求数据时,也需要前端将帅哥或者靓仔转换成男性,以DTO形式请求服务端。