还在混淆 VO、DTO、DAO、PO、BO、DO?看完秒懂

VO

VO,即 View Object(视图对象)或 Value Object(值对象) ,主要用于对应界面显示的数据对象。其作用在于只封装前端所需的数据,这样既能有效减少数据传输量,又能防止数据结构向外泄露。

DTO

DTO(Data Transfer Object),也就是数据传输对象,其概念源自 J2EE 设计模式。最初是为 EJB 分布式应用提供粗粒度的数据实体,以此减少分布式调用的次数,从而提升分布式调用的性能,降低网络负载。DTO 常用于不同服务之间,或者服务的不同分层之间的数据传输。它与 VO 概念相近,字段通常也基本一致,但在设计理念上存在差异。例如,在 API 服务调用中,DTO 和 VO 就可能有所不同。

DAO

DAO(Data Access Object),即数据访问对象,与其他几种 “O” 有着显著区别。它主要用于封装对数据库的访问操作,一般应用于持久层,能够将数据库操作完全封装起来。

PO

PO(Persistent Object)指持久化对象,用于将数据库中的一条记录映射为 Java 对象。它与持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系。若持久层为关系型数据库,那么数据表中的每个字段(或多个字段)就会对应 PO 的一个(或多个)属性。可以将一个 PO 看作是数据库表中的一条记录,它是某个事务依赖的原始数据,并且能方便地转化为其他对象。在实际应用中,

DAO 与 PO 通常搭配使用,PO 用于持久化,DAO 用于查询访问(ORM 层能够将字段映射为不同的 Java 实际属性)。

BO

BO(Business object)是复杂业务对象,其作用是将业务逻辑的数据封装成一个对象,简单来说,就是封装多个业务对象。一般在多次调用 DAO 查询不同表,返回关联数据(DO/PO)时,会将这些对象数据再次封装成一个 BO 对象。比如,一个求职者的信息对象,它包含简历、教育经历、工作经历、项目经历等,就可以封装成一个 BO。

DO

DO(Domain Object)即领域对象,是从现实世界中抽象出来的有形或无形的业务实体。业务层首先会依据 DTO 的数据构造(或重建)一个 DO,然后调用 DO 的业务方法来完成具体业务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值