java工程中文件命名(PO/POJO/VO/BO/DAO/DTO)
来源:互联网 发布:linux 即时通讯 编辑:程序博客网 时间:2024/06/03 16:43
转自:http://www.cnblogs.com/windanchaos/p/6398803.html
作为测试研发进阶的初级菜鸟,最近看公司研发写的工程代码,有些规则的命名,然不知道具体意义。以下内容来自网络。
PO(persistant object)持久对象
在o/r映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合,只能存活在一个数据库连接中,断开连接即被销毁。
O/R映射:层是持久层的一个特例,它的数据模型是对象模型(Object),存储模型是关系模型(Relational),cmp和Hibernate是对象模型到关系模型之间转换的两种不同实现。
VO(value object)值对象
精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。
BO(business object)业务对象
从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。比如一个简历,有教育经历、工作经历、社会关系等等。 我们可以把教育经历对应一个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操作。
DTO (Data Transfer Object)数据传输对象
主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。
TO(Transfer Object),数据传输对象
在应用程序不同tie(关系)之间传输的对象
阅读全文
0 0
- java工程中文件命名(PO/POJO/VO/BO/DAO/DTO)
- java工程中文件命名(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java EE术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- java术语(PO/POJO/VO/BO/DAO/DTO)
- Python:sorted 与 sort 的使用及区别
- codeforces contest 383 problem C(树状数组+dfs序)
- Android 获取星期
- 机器学习 scikit-learn基本使用
- python paramiko Error reading SSH protocol banner问题的解决
- java工程中文件命名(PO/POJO/VO/BO/DAO/DTO)
- 深度学习和自然语言处理的应用和脉络3-nlp的各种场景和技术。
- 开元的网站
- java的锁机制,synchronize与Lock比较
- Recyclerview添加自定义的虚线分割线
- java反射机制
- Redis 它是什么?它用来做什么?它的优势与短板如何?
- spring boot security默认配置启动导致的权限错误
- java继承、抽象、接口介绍以及区别