各层命名规约:
A) Service/DAO 层方法命名规约
1) 获取单个对象的方法用 get 做前缀。
2) 获取多个对象的方法用 list 做前缀。
3) 获取统计值的方法用 count 做前缀。
4) 插入的方法用 save(推荐)或 insert 做前缀。
5) 删除的方法用 remove(推荐)或 delete 做前缀。
6) 修改的方法用 update 做前缀。

B) 领域模型命名规约
1) 数据对象:xxxDO,xxx 即为数据表名。
2) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。
3) 展示对象:xxxVO,xxx 一般为网页名称。
4) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。

引申:

PO(persistant object) 持久对象

在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。

DO(Domain Object)领域对象

就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。

TO(Transfer Object) ,数据传输对象

在应用程序不同 tie( 关系 ) 之间传输的对象

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

这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。

VO(view object) 值对象

视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。

BO(business object) 业务对象

从业务模型的角度看 , 见 UML 元件领域模型中的领域对象。封装业务逻辑的 java 对象 , 通过调用 DAO 方法 , 结合 PO,VO 进行业务操作。 business object: 业务对象 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 比如一个简历,有教育经历、工作经历、社会关系等等。 我们可以把教育经历对应一个 PO ,工作经历对应一个 PO ,社会关系对应一个 PO 。 建立一个对应简历的 BO 对象处理简历,每个 BO 包含这些 PO 。 这样处理业务逻辑时,我们就可以针对 BO 去处理。

POJO(plain ordinary java object) 简单无规则 java 对象

纯的传统意义的 java 对象。就是说在一些 Object/Relation Mapping 工具中,能够做到维护数据库表记录的 persisent object 完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。我的理解就是最基本的 Java Bean ,只有属性字段及 setter 和 getter 方法。

DAO(data access object) 数据访问对象

是一个 sun 的一个标准 j2ee 设计模式, 这个模式中有个接口就是 DAO ,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和 PO 结合使用, DAO 中包含了各种数据库的操作方法。通过它的方法 , 结合 PO 对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合 VO, 提供数据库的 CRUD 操作。

http://www.hollischuang.com/archives/553

Java中POJO及其细分XO、DAO的概念相关推荐

  1. Java中POJO、VO、DTO、PO、Entity、domain的区别

    Java中POJO.VO.DTO.PO.Entity的区别 在看一些实际的项目的源码的时候,我们会发现POJO.VO.DTO.PO.Entity.domain的区别,那它们分别是什么呢,与我们学习Ja ...

  2. java中this,super,extends,implements相关继承概念讲解

    在java中有关==继承==这个词有许多关键字:super,this,extends,implements      对于初学者来说着实比较晕,网上说的也是云里雾里.现在个人算是有些眉目了,来一次总结 ...

  3. Java中的线程基础篇-线程基本概念

    线程的概念.创建方式.生命周期.优缺点 一.基础知识 1. 进程.线程.协程 1.1 进程 1.2 线程 1.3 协程 2. 串行.并发.并行 2.1 串行 2.2 并发 2.3 并行 二.线程的创建 ...

  4. java中一些对象(po,vo,dao,pojo)等的解释

    一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数 ...

  5. 【面向对象】——JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么

    前言 以前在学校学习java的时候,凡是开发项目都会将各个类分门别类的放在不同的包下,其中实体类的包尤为普遍,一般我都是建一个com.xxx.bean的包,然后凡是项目里面用到的实体类都丢进去,大家都 ...

  6. JavaWeb中 pojo、entity、Dao、bo的含义

    目录 Entity Bo(business object) Vo(value object) Po(persistant object) Dto(data transfer object) Pojo( ...

  7. Java中POJO、VO、DTO、PO、Entity的区别

    POJO(Plain Ordinary Java Object无规则简单Java对象) 一个中间对象,可以转化为VO.DTO.PO VO(View Object表示层对象) 对应页面显示的数据对象,可 ...

  8. 一图说明什么是 java 中 pojo类

    什么是 pojo 类,看阿里巴巴的开发手册?我想还是自己理解要好一点,所谓的规范都是为了业务的合理,存在就是合理 什么是 pojo 类 pojo:plain old/ordinary java obj ...

  9. Java中 Controller、Service 、Dao/Mapper层的区别

    1.Service层:业务层-->控制业务 业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联.接下来就可以在service层调用接口进 ...

最新文章

  1. CSS盒子模型(border、padding、margin、圆角边框、盒子阴影、文字阴影、新闻列表综合案例、新浪导航栏案例)
  2. HDFS源码分析心跳汇报之数据结构初始化
  3. android系统属性获取及设置
  4. Config Sharepoint 2013 Workflow PowerShell Cmdlet
  5. 王志成/王之泰《面向对象程序设计(java)》第十一周学习总结
  6. Leetcode 199. 二叉树的右视图 解题思路及C++实现
  7. notepad自动对齐html代码,notepad如何存储为html格式化
  8. 我的markdown学习笔记
  9. 在线分数加减乘除计算器
  10. linux shell中$0,$?,$!等的特殊用法
  11. Springboot物业管理系统
  12. 华为云服务器安全组设置
  13. IMPDP ORA-39125 / LPX-00241
  14. 【Unity3D】枪战游戏—弹孔设置
  15. 2.7UiPath Flowchart的介绍和使用
  16. 外贸b2c网站建设!
  17. 【vue】设置网页的标题和图标
  18. android app上传
  19. 数据挖掘之房价预测任务
  20. 基于MPLAB X IDE配置位设置讲解

热门文章

  1. 镜头评价指标及测试方法【四】————手机摄像头调查
  2. django快速集成富文本编辑器wangeditor
  3. 【啃书】【阿里云天池大赛赛题解析】目录
  4. 因数(factor)
  5. 分享:ThinkPad E40无线网卡驱动安装 FOR CENTOS6.3
  6. C/C++——文字RPG游戏:MINERPG
  7. 江苏:创新管理方法 电动自行车交通事故同比下降40%
  8. 我与CSDN的2020
  9. C语言/C++常见习题问答集锦(四十三) 之持之以恒
  10. 《深入理解JVM虚拟机》垃圾回收部分 读书笔记