DTO、VO、PO的区别

图示说明

请添加图片描述

DTO

英文全称

Data Transfer Object

定义

DTO是一种设计模式,用于在不同层之间传输数据。它是一个简单的数据容器,通常包含一组属性(数据)以及访问这些属性的方法。

目的

DTO的目的是在不同层(例如,应用程序层、业务逻辑层和数据访问层)之间传递数据,以便解耦和减少通信的开销。

特点

DTO的属性通常与业务实体对象(如数据库实体)相对应,但它们可能只包含业务实体的子集。

DTO还可以用于跨网络传输数据,例如在客户端和服务器之间传递数据。

PO

英文全称

Persistent Object,PO是持久化对象的简称,它是指与数据库表中的记录相对应的对象。

定义

PO通常是在数据访问层或持久层中使用的对象,用于表示数据库中的实体。

特点

它们与数据库表的结构密切相关,并且通常包含与数据库字段——对应的属性。

PO对象用于封装数据访问逻辑,并提供与数据库的交互方法,例如保存、更新和删除数据等。

在一些持久化框架(如Hibernate)中,PO对象也可以自动映射到数据库表。

VO

英文全称

View Objet,视图层传的数据的模型。

定义

它是一种在软件开发中表示值的对象。它是一种不可变对象,通常包含一组相关的属性,用于表示某个特定的值或概念。

目的

主要目的是封装一些数据,并将其作为单个不可变实体进行传递和使用。

共同点

DTO和PO是常见的缩写,用于描述在软件开发中传递数据的不同方式。

不同点

DTO

DTO:主要用于在不同层之间传输数据,旨在解耦和减少通信开销。

DTO可以包含与业务实体对象相关的属性的子集,以便满足特定的传输需求。

PO

PO:主要用于表示数据库中的实体,与数据库表的结构密切相关,并提供与数据库的交互方法。

PO对象通常在数据访问层或持久层中使用,用于封装数据访问逻辑。

VO

VO:一个值对象,用于封装某个特定值或概念。

它通常具有不可变性和值语义,并用于封装业务领域中的特定概念。

具体分析

在这里插入图片描述
当有不同的端(手机、PC、H5等等)调用的时候,可能存在使用的属性个数不同的情况,这时需要定义多个VO和对应的Controller接口。当只有一个端调用的时候,可以不使用VO,使用DTO即可。

参考资料学成在线-接口定义

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值