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

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. Quartz2D在项目中的实际使用
  2. Swing布局管理器介绍
  3. splunk的bucket组织目录——时间序列,按照时间来组织目录
  4. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何获取标准驱动器扭矩值获取电流值
  5. Vue.js 表单输入绑定
  6. java access dbq 参数_Java怎么连接access数据库,要求讲解详细一些
  7. WEB前端学习二 JS作用域和作用域链
  8. Raphael JS 矢量客户端开源框架
  9. Python 开篇及第一个Python程序
  10. ubuntua安装chrome_Ubuntu 16.04下安装64位谷歌Chrome浏览器
  11. vue实现滑块滑动校验
  12. 车辆调度(科大讯飞杯)
  13. 知网研学不同电脑端同步无效问题
  14. 柜员需要掌握的计算机知识,有多少计算机专业去银行后悔的,可以说说吗?
  15. 什么是多边形网格?对于3D建模来说是个怎样的存在?
  16. Python中tkinter模块的学习记录(一)
  17. mysql生成连续数字或日期
  18. 秋招Java开发工程师笔试_美团Java工程师面试题(2018秋招)
  19. 微信实现扫码支付(native)
  20. 3D物联网大数据可视化制作平台

热门文章

  1. 目标定位和检测系列中IOU的含义
  2. 启明星 ZYNQ 开发板实验平台简介
  3. SQL Server数据并发处理
  4. python全角数字_python 半角全角的相互转换
  5. 基于XCVU9P+ C6678的100G光纤的加速卡
  6. android中数据库sql语句删除指定日期或之前之后的数据
  7. 怎么查自己电脑服务器信息吗,如何查看自己电脑的服务器
  8. oled电视和量子点电视哪个好 oled电视与量子点电视区别
  9. MySQL缓存策略详解
  10. 精彩回顾 | Dev.Together 2022 开发者生态峰会圆满落幕