当前位置: 首页 > news >正文

【项目】DTO、VO以及PO之间的关系和区别

【项目】DTO、VO以及PO之间的关系和区别

文章目录

  • 【项目】DTO、VO以及PO之间的关系和区别
    • 1.概念
    • 2. 作用

1.概念

DTO:DTO是 Data Transfer Object 的缩写,也叫数据传输对象

PO:PO是 Persistent Object 的缩写,也叫持久化对象

VO:VO是 View Object 的缩写,也叫视图对象


2. 作用

DTO:dto用于接口层向业务层之间传输数据。

PO:po用于业务层与持久层之间传输数据。

VO:vo用于前端与接口层之间传输数据。

如下图所示:

1614759607876_0

当前端有多个平台,且接口存在差异时就需要设置VO对象用于前端和接口层传输数据。

比如:

查询课程列表接口,PC端和移动端是否共用一个接口呢?

如果它们俩共用一个接口,那就可以不需要使用VO对象,仅使用一个DTO对象再接口层和业务层传输数据即可。

如果它们俩的查询条件或查询接口不一样,那么此时对于课程列表接口就需要分别定义PC端接口和移动端接口,每个接口定义的VO对象以查询参数而定。

移动端查询:根据课程状态查询,查询结果只有课程名称和课程状态。

PC端查询:可以根据课程名称、课程状态、课程审核状态等条件查询,查询结果也比手机查询结果内容多。

此时,Service业务尽量提供一个业务接口,即使两个前端接口需要的数据不一样,Service可以提供一个最全查询结果,有Controller进行整合后返回前端。

如下图所示:

image-20220906182150783

http://www.lryc.cn/news/16425.html

相关文章:

  • Nginx介绍
  • 你什么档次?敢和我用一样的即时通讯平台WorkPlus?
  • 学习资源 - 深度学习
  • C语言数据结构初阶(1)----时空复杂度
  • vscode SSH 保存密码自动登录服务器
  • VR全景多种玩法打破传统宣传,打造全新云端视界
  • Git 教程
  • 一种全新的图像滤波理论的实验(二)
  • Boost库文档搜索引擎
  • Linux中安装JDK
  • 宝塔面板公网ip非80端口非443端口部署ssl
  • 手撕八大排序(上)
  • clickhouse 怎么统计每天0点到10点的某个字段的数据量
  • [qiankun]-图片加载问题
  • 关于upstream的八种回调方法
  • 0303泰勒公式-微分中值定理与导数的应用
  • 日常运维基础命令
  • 人员行为识别系统 TensorFlow
  • ES-倒排索引BKD原理skiplist
  • 每天一道大厂SQL题【Day12】微众银行真题实战(二)
  • 带您了解TiDB MySQL数据库中关于日期、时间的坑
  • 【华为OD机试模拟题】用 C++ 实现 - 求字符串中所有整数的最小和
  • harbor 仓库迁移升级
  • 评论功能设计思路~
  • 算法训练营 day52 动态规划 买卖股票的最佳时机系列1
  • 3.基于分割的文本检测算法--DBNet++
  • IOS打包、SDK接入记录等
  • 【C++】类与对象(引入)
  • Redis 高级数据类型
  • Java8 新特性-函数式接口