在程序开发中,经常会碰到各种专业术语,这里统一做一下解释,有遗漏或理解错误的恳请指正。

BO(Business Object)业务对象


主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其他的对象。比如一份简历,有教育经历、工作经历、社会关系等。可以把教育经历对应一个 PO,工作经历对应一个 PO,社会关系对应一个 PO,然后建立一个对应建立的 BO来处理简历,每个 BO 包含这些 PO,这样就可以针对 BO 去处理业务逻辑。

DAO(Data Access Object)数据访问对象


此对象用于访问数据库,通常与 PO 结合使用,DAO 中包含了各种数据库的操作方法,结合 PO 对数据库进行相关操作,处于业务逻辑与数据库资源中间,通过它可以把 POJO 持久化为 PO,用 PO 组装 VO、DTO。

DO(Domain Object)领域对象


从现实世界中抽象的业务实体。

DTO(Data Transfer Object)数据传输对象


用于远程调用等需要大量传输对象的地方,也可以泛指用于展示层与服务层之间的数据传输对象。

PO(Persistent Object)持久对象


可以看成是与数据库中的表映射的 Java 对象,最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合,PO 中应该不包含任何对数据库的操作。

POJO(Plain Ordinary Java Object)简单无规则 Java 对象


纯的传统意义上的 Java 对象,就是说在一些表关系映射工具中,能够做到维护数据库表记录的持久化对象完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。也可以理解成最基本的 Java Bean,只有属性字段及 setter 和 getter 方法。

VO(View Object)值对象


通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已,是抽象出来的业务对象,PO 只能用在数据层,VO 用在表示层。

参考链接:
Java 中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO 的概念
Java 中的几种对象 (PO、VO、DAO、BO、POJO)
java 的 (PO,VO,TO,BO,DAO,POJO) 解释

Java 中各种DTO,POJO 等的概念相关推荐

  1. Java中哈希集(HashSet)概念,实现以及操作

    Java中HashSet的用法 1. HashSet概念 2.Java文档中HashSet的实现 3.HashSet的构造函数 3.1 HashSet() 3.2 HashSet(int initia ...

  2. PO BO VO DTO POJO DAO DO概念解读

    假如有一张user表,里面有几个字段: user_id user_name pass_word create_time dept_id 假设就这么多吧,一张很基础的表,那么对应Java的写法就是一个类 ...

  3. C#、C++、JAVA中虚函数和抽象函数的概念对比

    这两天恶补了下C#的相关内容,虚函数的概念又挖掘了下,总结如下: 1.C++中函数被定义为虚函数的方法是在函数名前加virtual,虚函数可以有自己的具体内容,也可以不含有函数实现内容,称为纯虚函数. ...

  4. java中容易被忽视的基本概念

    概念1: try-catch-finally块中,finally块在以下几种情况将不会执行. (1)finally块中发生了异常. (2)程序所在线程死亡. (3)在前面的代码中用了System.ex ...

  5. Java中的面向对象(OOPs)概念 - 四个主要概念

    在这篇文章中,我们将讨论 java (面向对象程序设计系统)中的基本 OOPs 概念. Oops 是一个基于对象的编程范型. 它涉及数据绑定.多态性和继承等其他概念. 第一种面向对象程序设计是 Sim ...

  6. 关于java中文件命名POJO/VO/BO/DTO

    POJO POJO(Plain Ordinary Java Object),简单的Java对象,名字强调它是一个普通的java对象. POJO只有private属性以及这个属性的public的get和 ...

  7. JAVA中OOA、OOD、OOP概念

    OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的 ...

  8. JAVA中的集合概念

    JAVA中的集合: 集合的概念:一种操作方便的对象容器,可以存储并管理多个对象(存储管理多个对象的一种工具),很多时候替换数组 集合相关的内容位于java.util包中,使用需要导包: 集合的分类:c ...

  9. Java 中的函数式编程

    1. 概述 在本教程中,我们将了解函数式编程范式的核心原则以及如何在 Java 编程语言中使用它们. 我们还将介绍一些高级函数式编程技术.这将帮助我们了解 Java 中的函数式编程的好处. 2. 什么 ...

最新文章

  1. Java程序员必须掌握的7个Java性能指标!
  2. 程序员过关斩将--论商品促销代码的优雅性
  3. 《零基础看得懂的C++入门教程 》——(5) 容我套个娃 循环
  4. 深度学习(09)-- DenseNet
  5. C++ string转字符串
  6. 计算机网络之网络层:2、IP数据报、IP数据报分片
  7. 如何使用 tinypng 进行批量压缩
  8. 三维重建笔记——Linux环境下openMVG的安装
  9. 手机便签怎么对待办分类文件夹加密
  10. C# winform 魔兽MH全图制作教程(3):魔兽1.20E.1.24B.1.24E全图内存地址 转自breeze...
  11. 嵌入式开发板硬件操作入门学习6——硬件知识_串口(UART)硬件介绍
  12. 订阅新闻联播文字标题到邮箱
  13. 【实战系列】intel 8代I5 8400+H310完美装WIN7系统
  14. 思维导图在线制作,好用的思维导图软件分享
  15. 解决如何打开端口的问题
  16. iOS开发 开发者账户介绍
  17. 报错:Required String parameter 'XXX' is not present错误的几种可能性
  18. Unity3D 通用麻将胡牌算法
  19. 计算机毕业设计题目大全(不断更新中)
  20. HC32 flash 读写操作

热门文章

  1. C# .net 集合-并发处理之文件读写处理
  2. SOEM 源码解析 ecx_FPWR
  3. 使用Trove的integration定制化trove镜像
  4. 有道云笔记迁移到Obsidian的方法(保留文件创建时间)
  5. oracle去掉0x00,Oracle O001 / O00n 进程 100% CPU资源耗用
  6. selenium之鼠标操作详解
  7. anaconda安装包
  8. Redis缓存过期和淘汰策略
  9. P4720 【模板】扩展卢卡斯
  10. idea 2019.2顶部菜单栏隐藏的恢复办法