java里VO是啥东西?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里VO是啥东西?相关的知识,希望对你有一定的参考价值。

vo:value object,值对象
一般在java中用的多的是pojo:plain oriented java object,原始java对象,pojo一般和数据库中的表是一一对应的。
vo一般是来做值的存储与传递。
参考技术A 一、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,减少风险),也不需要担心未来的维护工作!

java 中VO toString的作用是啥

java 中VO toString的作用是什么,是输出json吗?

参考技术A 我不太明白vo tostring是什么意思?但tostring一般的作用还是明白的。比如你写个封装,在一个模块里,单元测试的时候可以用tostring输出到终端看看写的对不对。有时候代码出bug,传进封装里的参数不对,你可以输出看看哪里有问题。有的时候tostring输出后的字符串可以用来判断一些东西。当然tostring输出的可以用来对应到其他语句中,如,数据库语句,等等。总之,还有很多种用法,每个人都有不同的见解,所以会有不同的用法

以上是关于java里VO是啥东西?的主要内容,如果未能解决你的问题,请参考以下文章

java 中VO toString的作用是啥

Java里VO是啥

java是啥东西?

java中vo与po的转换

AAuto是啥东西

学习代码里引入的包都是啥东西