博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java里VO是什么?
阅读量:3917 次
发布时间:2019-05-23

本文共 654 字,大约阅读时间需要 2 分钟。

一、PO:persistant object 持久对象可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。二、VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象可以和表对应,也可以不,这根据业务的需要.有一种观点就是:PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作属于该层自己的数据对象这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。如果将PO用在各个层中就相当于我们使用全局变量,我们知道在OO设计非常不赞成使用全局变量。但是每次都得进行VO-PO的转换,也确实很烦。我觉得有时候也可以在某个商业逻辑或者表示层使用PO此时在这个商业逻辑的过程中PO的状态是不发生变化的,比如显示一条商品详细信息的商业逻辑。在开发过的项目中,规模都很小,我一直都把PO当VO用,因为PO确实很方便,结合Hibernate的DAO我使用JAVA的集合对象作为值传递的载体,当然Struts也是我的不二之选。我认为:在一些直观的,简单的,不易发生变化的,不需要涉及多个PO时,传递值还是使用PO好这样可以减少大量的工作量(也就意味着减少bug,减少风险),也不需要担心未来的维护工作!vo:value object,值对象一般在java中用的多的是pojo:plain oriented java object原始java对象,pojo一般和数据库中的表是一一对应的。vo一般是来做值的存储与传递。

 

转载地址:http://qiirn.baihongyu.com/

你可能感兴趣的文章
【Azure学习.01】先从账号注册开始
查看>>
如何运用领域驱动设计 - 工作单元
查看>>
服务器应用服务为何卡顿?原来是内存耗尽惹的祸!
查看>>
什么?原来C#还有这两个关键字
查看>>
Mbp,一个用于学习.net core的开发框架
查看>>
【Magicodes.IE 2.0.0-beta1版本发布】已支持数据表格、列筛选器和Sheet拆分
查看>>
net下的高性能轻量化半自动orm+linq的《SqlBatis》
查看>>
如何利用Serilog的RequestLogging来精简ASP.NET Core的日志输出
查看>>
在 Blazor WebAssembly 中使用 gRPC-Web
查看>>
【实战 Ids4】║ 在Swagger中调试认证授权中心
查看>>
.NET Core开发实战(第10课:环境变量配置提供程序)--学习笔记
查看>>
WTM系列视频教程:View和Taghelper
查看>>
面试官:你连HTTP请求Post和Get都不了解?
查看>>
.NET Core 3.0 即将结束生命周期,建议迁移 3.1
查看>>
开源、免费、企业级的SiteServer CMS .NET CORE 7.0 预览版发布
查看>>
基于.NET下的人工智能|利用ICSharpCore搭建基于.NET Core的机器学习和深度学习的本地开发环境...
查看>>
【朝夕Net社区技术专刊】Core3.1 WebApi集群实战专题---WebApi环境搭建运行发布部署篇...
查看>>
200行代码,7个对象——让你了解ASP.NET Core框架的本质[3.x版]
查看>>
.NET Core开发实战(第21课:中间件:掌控请求处理过程的关键)--学习笔记(下)...
查看>>
对比Java和.NET多线程编程
查看>>