解读VO、DTO、BO、PO、DO、DTO

在这里插入图片描述

VO:值对象

用来做数据展示的,重点体现在人们直观看到的数据,比如web页面中的数据,最主要的存在形式就是json了。

DTO:数据传输对象

该传输通常指前后端之间的传输。在后端它的存在形式是Java对象,在前端它的存在形式是json

PO:持久对象

PO是数据库中的记录,表中一条记录就是一个PO对象。通常PO里面除了get、set方法外没有别的方法了。

BO:业务对象

BO就是PO的组合。许多个PO组成一个BO
假如PO是一条购物记录,那么BO就是全部的交易记录集合对象。
或者说PO_1是交易记录、PO_2是登陆记录、PO_3是商品浏览记录、PO_4是添加购物车记录…那么,BO就是个人网站的行为记录。

DAO:数据库访问对象

用于访问数据库

VO和DTO的区别?

DTO是原数据,而VO是在DTO前端数据基础上处理过后展示出来的数据。
比如,性别在DTO中用“男”和“女”表示,甚至用“0”和“1”表示,而处理后的VO则是“先生”、“女士”。
通常,VO根据需要会删减一些DTO中的字段,还会根据需要对DTO中的值进行展示业务的解释。

BO和DTO的区别?

BO对内为了进行业务计算需要辅助数据,或者是一个业务有多个对外的接口,BO可能会含有很多接口对外所不需要的数据,因此DTO需要在BO的基础上,只要自己需要的数据,然后对外提供。就像VO根据需要会删减一些DTO中的字段一样。

DO又是什么?

这个概念有点混淆
阿里巴巴的开发手册中对它的定义等同于上面的PO
DDD(Domain-Driven Design)领域驱动设计中,等同于上面的BO

应用中的建议

  1. PO不能省略,不管叫PO还是Entity,必须要有
  2. 一些工具类的系统和一些业务不是很复杂的系统DTO是可以和BO合并成一个,当业务扩展的时候注意拆分就行
  3. VO是可以第一个优化掉的,展示业务不复杂的可以压根儿不要,直接用DTO
  4. 关于DO个人会把它用作实体对象的映射
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值