一篇文章讲清楚VO,BO,POJO,DO,DTO的区别

本文详细介绍了Java开发中常见的VO(View Object)、BO(Business Object)、POJO(Plain Ordinary Java Object)、DO(Data Object)和DTO(Data Transfer Object)的区别。DTO作为数据传输对象,常用于前后端交互;VO主要用于展示层,根据需求调整字段和值;POJO是一个简单的Java对象,不含特定框架依赖;PO(Persistant Object)对应数据库记录;BO是对多个PO的组合,承载业务逻辑。在实际应用中,这些概念可根据系统复杂度进行灵活选择和组合。
摘要由CSDN通过智能技术生成

引言

Java开发过程中,基本实体类包都以entity或者pojo来称呼,可是不少项目中,却有很多VO,BO,PO,DO,DTO之类的包,Loki将在本文对这些概念做一些整理

定义之类的东西过于晦涩,我们先来看一下下面这张图,然后在后文中详细进行整理讨论,看完图估计大部分人就已经有了一个直观的感受了

在这里插入图片描述

实际应用

上图的描述很完整,我们在用的时候是必须按这个来做吗?

对于简单系统,我们完全可以做出一些改变,以下是一些实际建议
1,POJO这个没法省,不管叫POJO还是Entity,怎么着都得有
2,一些工具类的系统和一些业务不是很复杂的系统DTO是可以和BO合并成一个,当业务扩展的时候注意拆分就行
3,VO是可以第一个优化掉的,展示业务不复杂的可以压根儿不要,直接用DTO
4,这也是最重要的一条,概念是给人用的,多人协作的时候一定要保证大家的概念一致,赶紧把这篇文章转发给跟你协作的人吧

详细说明

首先引用阿里巴巴Java开发手册中的VO,DTO,BO,PO,DTO,POJO定义

分层领域模型规约:

  • DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。
  • BO( Bu
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值