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 用在表示层。

作者:shaopiing
链接:https://www.jianshu.com/p/c163e02c3d93
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Java中各种BO、POJO类相关推荐

  1. Java中通过代理对类进行修改

    JAVA中的静态代理.动态代理及JDK proxy和CGLIB.Javassist.ASM实践 简介 Java中对已经有的类进行修改,改变或调整其执行,这可以通过代理来实现.Java的class文件是 ...

  2. java中的starts_Java Math类静态double nextAfter(double starts,double direction)示例

    java中的starts 数学类静态double nextAfter(双向启动,双向) (Math Class static double nextAfter(double starts , doub ...

  3. setyear java_如何在Java中创建不可变类

    如果对象在构造后无法更改,则该对象是不可变的.不可变对象不会以任何方式暴露其他对象来修改其状态; 对象的字段仅在构造函数内初始化一次,并且永远不会再次更改. 在本文中,我们将定义在Java中创建不可变 ...

  4. Java中Date和Calender类的使用方法

    查看文章     Java中Date和Calender类的使用方法 2009-10-04 20:49 Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着 ...

  5. java创建一个不可变对象_如何在Java中创建不可变类?

    java创建一个不可变对象 Today we will learn about the immutable class in Java. What are immutable classes? The ...

  6. 《Java并发编程的艺术》——Java中的并发工具类、线程池、Execute框架(笔记)

    文章目录 八.Java中的并发工具类 8.1 等待多线程完成的CountDownLatch 8.2 同步屏障CyclicBarrier 8.2.1 CyclicBarrier简介 8.2.2 Cycl ...

  7. 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)

    文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...

  8. Java中的网络编程类(TCPUDP)

    Java中的网络编程类 n Java.net包 – TCP协议 URL URLConnection Socket ServerSocket – UDP协议 DatagramPacket Datagra ...

  9. 【JAVA系列】Java中的包、类的继承、多态、抽象类与接口

    文章目录 前言 一.包及访问权限 1.什么是包? 2.如何导入包? 3.JDK中常见的包 4.包的访问控制权限 二.继承 1.继承的基本概念 2.继承时方法调用顺序 3.super和this关键字 4 ...

  10. Java中同一个文件里类和方法的引用

    Java中同一个文件里类和方法的引用 在项目开发时往往需要在同一个文件里创建几个类,并互相引用,但小白们搞不懂,所以我给大家讲解一下 目录 Java中同一个文件里类和方法的引用 1.权限修饰符 2.类 ...

最新文章

  1. linux jna调用so动态库
  2. python数据插值_【Python】【数据分析】缺失值处理——插值
  3. 【Linux 内核】Linux 内核特性 ( 组织形式 | 进程调度 | 内核线程 | 多平台虚拟内存管理 | 虚拟文件系统 | 内核模块机制 | 定制系统调用 | 网络模块架构 )
  4. DDD领域模型自动生成?
  5. JSON转换为excel工具
  6. 12020.硬件电路
  7. zw版【转发·台湾nvp系列Delphi例程】HALCON HighpassImage
  8. Tcl Tutorial 笔记9 · proc 参数传递与return
  9. BASIC语言、FreeBasic语言
  10. 栋的月结 | 第三回合(定期更新、动态、架构、云技术、算法、后端、前端、收听/收看、英文、书籍、影视、好歌、新奇)[含泪总结.. 憋泪分享!]
  11. Photoshop 2018 学习笔记 目录
  12. GitHub上最火的7个spring cloud开源项目,对新手太友好了
  13. python openpyxl模块 合并单元格,设置行高,列宽,边框,居中,字体样式
  14. android 申请移动应用的签名生成方法
  15. Quartus II 13.1的安装与注册
  16. StringBuffer换行
  17. Mac 安装第三方软件遇到的问题解决方案汇总
  18. (OK) MIMP - 18 ( 5 nodes) - 抓包-缺少 MPTCP-JION - 发现了另一个问题【M1 ping M5】不可以 ping 通
  19. (尊重原创-转)国内开源镜像站点汇总
  20. 会话初始协议---SIP协议【详解】

热门文章

  1. twisted学习笔记
  2. Cannot resolve directory 'xxx'
  3. shell学习笔记整理
  4. 燕山大学计算机考研资料汇总
  5. ESD测试级别及方法
  6. 设计自己的异常类——表示对负数求平方根的错误
  7. 在HTML中让边框变透明,如何用CSS设置DIV边框透明
  8. Excel 计算重复项中的唯一值的方法
  9. 兔子繁殖问题(斐波那契数列c语言版)
  10. Linux跑火车,提升趣味性