1、VO

vo(view object)视图对象

用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来,一般由后端传输给前端。

2、DTO

DTO(data transfer object)数据传输对象

用于展示层和逻辑层之间的数据传输。

3、DO

DO(domain object)

从现实世界中抽离出来的有形或无形的业务实体。

4、PO

po(persistent object)

跟持久层的数据结构构成一一对应关系。如果持久层是关系型数据库,那么PO的属性和数据库中的字段一一对应。

5、VO和DTO的区别

他们最本质的区别是:VO代表了需要展示的数据,DTO代表服务层需要接收和返回的数据。

举例

以一个填写表单的操作为例:

  1. 用户填写表单,表单的数据在展示层被匹配为VO
  2. 展示层把VO转换为服务层要求的DTO,传给服务层
  3. 服务层首先根据DTO构建一个DO,调用DO的业务方法完成具体业务
  4. 服务层将DO转换为PO,传递给持久层,由持久层完成持久化操作

VO、DO、DTO、PO是什么相关推荐

  1. 理解web项目中的VO,DTO,DO,PO

    理解web项目中的VO,DTO,DO,PO 想起第一次实习的时候被嫌弃VO,DTO,DO,PO不分 vo DO DTO PO 想起第一次实习的时候被嫌弃VO,DTO,DO,PO不分 所以他们到底是什么 ...

  2. 浅析 VO、DTO、DO、PO 的概念、区别和用处!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:cnblogs.com/qixuejia/p/4390086 ...

  3. Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和项目实例图(转)

    PO(bean.entity等命名): Persistant Object持久对象,数据库表中的记录在java对象中的显示状态 最形象的理解就是一个PO就是数据库中的一条记录. 好处是可以把一条记录作 ...

  4. map和foreach的区别和应用场景_浅析项目中常用的 VO、DTO、DO、PO的概念、区别和用处...

    概念: 模型: VO与DTO的区别 VO与DTO的应用 DTO与DO的区别 DTO与DO的应用 DO与PO的区别 DO与PO的应用 本篇文章主要讨论一下我们经常会用到的一些对象:VO.DTO.DO和P ...

  5. PO、BO、VO、DTO、POJO、DAO的区别

    PO: 基本上就是Entity了 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录. 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. ---- ...

  6. JavaEE PO VO BO DTO POJO DAO 整理总结(转)

    阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 ...

  7. JavaEE PO VO BO DTO POJO DAO 整理总结

    阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 ...

  8. 领域驱动设计:浅析 VO、DTO、DO、PO 概念、区别、用处

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 本篇文章主要讨论一下我们经常会用到的一些对象:VO.DTO.DO和PO. 由于不同的项目和开发人员有 ...

  9. 领域驱动设计系列(2)浅析VO、DTO、DO、PO的概念、区别和用处

    PO: persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录. 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO: business obje ...

  10. VO,DTO,PO 的个人见解

    1.VO,DTO,PO的概念 VO 是Value Object 的缩写,值对象,位于视图层,每一个字段与视图层所需要的字段对应 DTO是Data Transfer Object 的缩写,数据传输对象, ...

最新文章

  1. 拟南芥arabidopsis 全染色体
  2. Oracle 存储过程之通用分页查询
  3. [云炬ThinkPython阅读笔记]2.5 运算顺序
  4. Entity Framework 普通操作(复习用)——感觉有点不对,需要撸代码验证
  5. .NET Core on K8S 学习与实践系列文章索引 (更新至20191116)
  6. 后端接口重定向_接口自动化面试题,建议收藏!
  7. python label显示图片_python 实现在tkinter中动态显示label图片的方法
  8. Leetcode 109
  9. spss相关分析(spss统计分析实验教程,谢蕾蕾)
  10. 如何解决“Appstore无法下载软件”的问题
  11. 电脑插上U盘后不显示怎么办?
  12. 网站建设的7大流程,值得收藏!
  13. 空间和时间 ----节选《时间简史》 霍金
  14. 【微信公众号】第一步:申请公众号及测试号
  15. Windows自带的“QQ”
  16. thinkDifferent思维糖果
  17. 用Fiddler、Charles和mitmproxy进行手机抓包的配置教程
  18. Java快速入门(17) - Number类及其子类
  19. ssm中报错: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type a
  20. 民办大学计算机专业教师,考生被民办大学录取,看到高昂学费想放弃,老师坦言这个专业值得...

热门文章

  1. IPC(进程间通信) | 信号量机制
  2. 如何使用Python实现一个pdf阅读器?
  3. Modelica运算符
  4. 面试宝典(二)之经典面试题(含详细答案)
  5. 微信小程序模拟器加载图片成功,真机加载失败
  6. 微信小程序video标签大小设置
  7. 输油管的布置数学建模matlab,输油管布置问题的优化模型
  8. 【android开发】手机应用管理器的实现之实现软件加锁(四)
  9. 计算机网络实验——使用网络协议分析仪Wireshark
  10. DM6437 OSD调试记录