Redian新闻
>
一文搞懂 PO、VO、DAO、BO、DTO、POJO

一文搞懂 PO、VO、DAO、BO、DTO、POJO

公众号新闻

PO

全称 persistant object,持久对象

可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。

VO

全称 value object,值对象

通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.

PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。

DAO

全称 Data Access Objects,数据访问对象接口

DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码.

DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的DAO实现有下列几个组件:

  1. 一个DAO工厂类;
  2. 一个DAO接口;
  3. 一个实现DAO接口的具体类;
  4. 数据传递对象(有些时候叫做值对象).

具体的DAO类包含了从特定的数据源访问数据的逻辑。

BO

全称 Business Object,业务对象层

表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。

DTO

全称 Data Transfer Object,数据传输对象

主要用于远程调用等需要大量传输对象的地方。比如我们一张表有100个字段,那么对应的PO就有100个属性。但是我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

POJO

全称 Plain Old Java Objects,简单的Java对象

实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接.其中有一些属性及其getter、setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法


源:blog.csdn.net/Marsin_csdn/artic

le/details/123956679


后端专属技术群

构建高质量的技术交流社群,欢迎从事编程开发、技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

文明发言,以交流技术职位内推行业探讨为主

广告人士勿入,切勿轻信私聊,防止被骗

加我好友,拉你进群

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
ABCNet、Deep TextSpotter、SEE、FOTS…你都掌握了吗?一文总结OCR必备经典模型(三)融资 7 亿元后,Mojo 之父实名吐槽:Mojo 太好用了,颤抖吧 C++比Python快68000倍!Mojo正式发布,网友:Python生态系统最重要的升级来了Mojo 编程语言开放下载,声称比 Python 快 68000 倍【络绎GO本周项目】柔性脑机接口技术、VOCs网格化监测技术特斯拉超算Dojo下月投产,24年末年算力可达 100 Exa-Flops | 最前线ZT:龚俊在红毯上的游刃有余之感戴森官网V15、V8、Big Ball、Ball吸尘器立减150元!比Python快3.5万倍的Mojo融资7亿,LLVM之父:不会威胁到Python,该恐惧的应该是C++可能文化、DT商业观察、国际翻译动态招聘人才啦!| 求贤令EAST、PixelLink、TextBoxes++、DBNet、CRNN…你都掌握了吗?一文总结OCR必备经典模型(二)【绝版现货】2012年日本官方《JOJO》乔瑟夫+柱男收藏海报!llama2.mojo比llama2.c快20%,最年轻的语言Mojo惊艳开发者社区四十三 反右将Python程序移植到Mojo,性能提升250倍、速度比C版本快20%Dojo超算将使特斯拉股价飙升60%?摩根士丹利66页报告出炉比 Python 快 3.5 万倍的 Mojo 融资七亿,LLVM之父:不会威胁到 Python,该恐惧的应该是 C++一文搞懂 GPU 的概念、工作原理,以及与 CPU 的区别限时领丨一文搞懂音节划分,自然拼读才能如虎添翼!附音节规则海报!绝对干货!3亿刀,特斯拉1万个H100集群上线!超算Dojo7月已经开工,全力加速L4自动驾驶四十四 春天精选Quant岗位 | Cisco、Barclays、Blackstone 等公司持续热招!号称比 Python 快 68000 倍的 Mojo 语言正式发布! Rust 能否与之匹敌?素元、BOWRON、VONDOM设计家具年中特促,限时底价!精选SDE岗位 | Intel、ByteDance、PACCAR等公司持续热招!10万左右,拿下一个移动的家。大驰拖挂房车DT472,DT521日本Apagard牙膏、城野医生防晒、Voncr洞洞鞋、养力生榨椰汁、品牌服饰,超值团购开启!轨迹4.0好像一部短记录片新的主人来临!CTPN、TextBoxes、SegLink、RRPN、FTSN、DMPNet…你都掌握了吗?一文总结OCR必备经典模型(一)戴森V15、V8、Big Ball、Ball吸尘器立减150元!比Python快6.8万倍,新语言Mojo首次开放下载,AI大佬:开发生态多年来最大升级政府发警告!快将PayPal、Venmo、CashApp和Apple Cash里面的钱转走!一文搞定 Nginx 压缩、黑白名单、防盗链、零拷贝、跨域、双机热备等知识一文搞定Nginx的压缩、黑白名单、防盗链、零拷贝、跨域、双机热备等知识
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。