PO,BO,VO,DTO,DO的区别

本文介绍了PO(持久对象)、BO(业务对象)、DTO(数据传输对象)和VO(值对象)在IT系统中的用途。PO直接映射数据库表结构,BO由多个PO组成以满足业务流程,DTO用于过滤和传输数据,而VO专注于前端展示需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1、PO

  • PO:Persistan Object(持久对象)
  • 业务:po对象的属性字段与数据库表结构字段一 一对应
  • 举例:

        个⼈信息表中分别有:id,name,age,sex,birthday

        PO对象中的属性有:id,name,age,sex,birthday

                {“id”: 1,“name”: “张三”,“age”: 20,“sex”: “男”,“birthday”: “2000-03-24”}

 2、BO

  • BO:Business Object(业务对象)
  • 业务:多个PO对象按照业务流程必要拼凑在一起形成的对象
  • 举例:

                个⼈信息表中分别有:id,name,age,sex,birthday

                个⼈学历表中分别有:id,school,educational_background

                按照个⼈信息表与学历表进⾏关联,将⽤户的个⼈信息集合在⼀起

                则BO对象包含个人信息和学历信息:id,name,age,sex,birthday,school,educational_background

                {“id”: 1,“name”: “张三”,“age”: 20,“sex”: “男”,“birthday”: “2000-03-24”,“school”:“⽯家庄铁道⼤学”,“educational_background”:“本科”}

3、 DTO:第三方调用传输

  • DTO:Data Transfer Object(数据传输对象)
  • 业务:在原有的数据上进行过滤删减
  • 举例: 

        个⼈信息表中分别有:id,name,age,sex,birthday,我们可能只需要⽤户的名字、年龄和性别来显⽰,像⽣⽇这样的信息就没有必要进⾏传输了,所以对已有的数据进⾏删减,只传输需要的信息。

        则DTO对象中的信息为:id,name,age,sex

        {“id”: 1,“name”:“张三”,“age”: 20,“sex”: “男”}

4、VO:客户端展示

  • VO:value Object(值对象、表现层对象)

  • 业务:进行页面的显示

  • 举例:

个人信息表分别有:id,name,age,sex,birthday,页面需要展示年龄和名字,则值VO类中只需要有name和age两个字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值