Java中VO、PO、POJO、BO、DAO、DTO的区别

Java中VO、PO、POJO、BO、DAO、DTO的区别

VO
VO,Value Object 值对象,是ViewObject表现层对象。
其主要对应界面显示的数据对象。对于一个WEB页面,用一个VO对象对应整个界面的值。

PO
Persistant Object 持久对象
例如把数据库表一条记录作为一个对象处理,可以方便的转为其他对象。

POJO
Plain Old Java Object 简单java对象
PO 和VO都应该属于它,可以理解成POJO是VO和PO的父类。
一个POJO持久化后——>PO;
一个POJO传递过程中——>DTO;
一个POJO用作表示层——>VO。

BO
Business Object对象
主要作用是把业务逻辑封装为一个对象,注意,重在业务逻辑。这个对象可以是一个或者多个其他对象。
比如:一个订单,有名称、数目、价格等等。我们可以把名称对应一个PO,数目对应一个PO,价格对应一个PO。
建立一个对应订单的BO对象处理订单,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。

DAO
Data Access Object数据访问对象,DAO层
主要用来封装对数据库的访问。它可以把POJO持久化为PO,用PO组装出来VO、DTO。

DTO
Data Transfer Object 数据传输对象
数据传输目标是DAO从DB(数据库)中检索数据。DTO与DAO之间差异是一个以不具有任何行为除了存储和检索的数据。
例如:一张表有10个字段,那么对应的PO就有10个属性(大多数情况下,DTO内的数据来自多个表)。但view层只需显示5个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这5个属性的DTO来传输数据到client,这样也不会暴露server端表的结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值