JavaWeb中DTO,VO,PO等领域模型的个人理解
2021/5/22 20:55:24
本文主要是介绍JavaWeb中DTO,VO,PO等领域模型的个人理解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
概念
PO(Persistent Object)
持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系。
DTO(Data Transfer Object)
数据传输对象,是一种设计模式之间传输数据的软件应用系统。
数据传输目标往往是数据访问对象从数据库中检索数据。
方便数据交互,在这里泛指用于展示层与服务层之间的数据传输对象
VO(Value Object)
VO是显示视图模型,视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO与VO的区别
个人理解:
概念上两者有着本质的区别,DTO 代表服务层需要接收的数据和返回的数据,而 VO 代表展示层需要显示的数据。
既然DTO是展示层与服务层之间传递数据的对象,为什么还需要一个VO呢?
在只有一个客户端的情况下DTO=VO,DTO和VO的属性值基本是一致的,因此没必要多此一举。
但是在有两个客户端的情况下,比如说客户端A把性别男显示为男生,客户端B把性别男显示为帅哥(客户定制化需求),此时需要两个VO(这是设计层面上的思维,实现层面你可能认为不需要两个VO),如果一个DTO对应多个VO,则展示层需要把VO转换为服务层对应方法所要求的DTO,传送给服务层。从而达到服务层与展示层解耦的效果。
这篇关于JavaWeb中DTO,VO,PO等领域模型的个人理解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南