volvo_vo-环球今亮点

2023-02-24 01:52:58来源:互联网

1、一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。


(资料图片)

2、使用Hibernate来生成PO是不错的选择。

3、 二、VO:value object值对象。

4、通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。

5、但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要. 有一种观点就是:PO只能用在数据层,VO用在商业逻辑层和表示层。

6、各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。

7、如果将PO用在各个层中就相当于我们使用全局变量,我们知道在OO设计非常不赞成使用全局变量。

8、 但是每次都得进行VO-PO的转换,也确实很烦。

9、我觉得有时候也可以在某个商业逻辑或者表示层使用PO,此时在这个商业逻辑的过程中PO的状态是不发生变化的,比如显示一条商品详细信息的商业逻辑。

10、 在开发过的项目中,规模都很小,我一直都把PO当VO用,因为PO确实很方便,结合Hibernate的DAO,我使用JAVA的集合对象作为值传递的载体,当然Struts也是我的不二之选。

11、 我认为:在一些直观的,简单的,不易发生变化的,不需要涉及多个PO时,传递值还是使用PO好,这样可以减少大量的工作量(也就意味着减少bug,减少风险),也不需要担心未来的维护工作!。

本文到此分享完毕,希望对大家有所帮助。

关键词: 全局变量 发生变化 这样可以

相关阅读