各层命名规约:

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里plain_Java中POJO及其细分XO、DAO的概念相关推荐

  1. Java中POJO及其细分XO、DAO的概念

    各层命名规约: A) Service/DAO 层方法命名规约 1) 获取单个对象的方法用 get 做前缀. 2) 获取多个对象的方法用 list 做前缀. 3) 获取统计值的方法用 count 做前缀 ...

  2. java 里 泛型中 T代表什么类型

    java 里 泛型中 <T>代表什么类型呀? public <T> List<T> find(String sql, Class<T> entityCl ...

  3. java里equals_Java中equals和==的区别

    java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==), ...

  4. Java里什么是POJO

    pojo指简单的Java对象, 是实体类entity和值对象VO 还有数据传输对象DTO的统称 Entity实体类, 通常实体类的属性和表的字段是一致的 DTO 数据传输对象, 当客户端给服务器传输参 ...

  5. java里jlabel_JAVA中jlabel怎么用

    详细内容 JLabel 对象可以显示文本.图像或同时显示二者.可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐.默认情况下,标签在其显示区内垂直居中对齐.默认情况下,只显示文本的标签 ...

  6. Java里ctx_netty中的ctx.write()和ctx.channel()。write()有什么区别?

    我注意到ctx在处理程序之间是不同的,即使这些处理程序位于同一管道中,例如 p.addLast("myHandler1", new MyHandler1()); p.addLast ...

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

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

  8. 在 Java Web 项目中,Service 层和 Dao 层真的有必要每个类都加上接口吗

    作者 l 会点代码的大叔(CodeDaShu) 很多程序员在刚开始工作的时候,接触到的项目都是这样做的:项目的代码被分成 Controller.Service.Dao 层,一个接口对应一个实现类,然后 ...

  9. OpenGL中的曲面细分和几何着色器

    [摘要]本文我们先介绍OpenGL中的曲面细分的一些基本概念,然后给两个例子说明不得不用这项技术的理由. 曲面细分是OpenGL 4.0之后才定义的功能,使用之前请确认你的显卡驱动支持OpenGL4. ...

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

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

最新文章

  1. Spark2.x写入Elasticsearch的性能测试
  2. leetcode算法题--使序列递增的最小交换次数★
  3. 在国外千万不要以为别人都听不懂中文
  4. 2017.9.23 Count on a tree 思考记录
  5. VC调用Delphi对象接口
  6. 5.3 FIR低通滤波器的设计
  7. 专访剑桥大学校长作者:柴静
  8. 新型单词记忆法汇总(沪江英语):
  9. 华南理工大学计算机学院创新班,高校纷推创新班揽生源 逐步淘汰冷门专业
  10. 企业终端病毒查杀+漏洞及补丁管理(自写知识分享,不是广告)
  11. Oracle数据库有哪些应用结构?
  12. 云计算实战应用案例精讲-【深度学习】多模态融合(论文篇四)
  13. 家装产业的数字化,正在成为越来越多人的新共识
  14. GEE实战 | 各种指数分析(植被、水体、建筑)
  15. html设置背景图片覆盖不重复
  16. Non_Local_Means滤波器----MATLAB
  17. 三网融合触发MeeGo风暴
  18. vmware12虚拟机中ubuntu16.04安装搜狗输入法
  19. Windows与网络基础:NTFS权限规则和本地安全策略
  20. 基于超星网页阅读的在线阅读的书籍下载软件,java实现。

热门文章

  1. 深入理解 Java 中 protected 修饰符
  2. 《编写可维护的JavaScript》——JavaScript编码规范(七)
  3. IIS主机头值的意思
  4. mysql 帮助文档使用
  5. 原生js对数组操作(find,findIndex)
  6. java集群如何同步_Kafka 跨集群同步方案
  7. tp5.0 根据经纬度 获取附近信息_Redis怎么实现查找附近的人之数据类型Geospatial...
  8. 正常网页开发如何解除父容器中子容器的浮动问题
  9. Vue中常用的组件传值方式
  10. Golang web请求