一区二区国产高清视频在线_真人性做爰A片免费_强伦人妻BD在线电影_亚洲熟妇无码AV_免费人成视频在线观看网站_亚洲欧美精品午睡沙发_在线观看无码的免费网站_中文字幕无码A片久久_日韩欧美国产一区精品_久久精品女人天堂av

重慶醫(yī)科大學論壇

 找回密碼
 注冊(開放注冊)
搜索
查看: 2035|回復: 0
打印 上一主題 下一主題

[應用技術] JAVA語言深入:了解關于JAVA的PO與VO

[復制鏈接]
跳轉到指定樓層
1#
發(fā)表于 2007-11-18 09:26:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一直很矛盾:是否PO可以用在商業(yè)邏輯層,當作VO使用;還是將兩者分開。在許多論壇上,這兩者之爭也很激烈。所以今天我打算把我的想法寫下來。  

         首先,java有幾種對象(PO,VO,DAO,BO,POJO)   

         一、PO:persistant object 持久對象,可以看成是與數(shù)據(jù)庫中的表相映射的java對象。使用Hibernate來生成PO是不錯的選擇。  

          二、VO:value object值對象。通常用于業(yè)務層之間的數(shù)據(jù)傳遞,和PO一樣也是僅僅包含數(shù)據(jù)而已。但應是抽象出的業(yè)務對象,可以和表對應,也可以不,這根據(jù)業(yè)務的需要.

      有一種觀點就是:PO只能用在數(shù)據(jù)層,VO用在商業(yè)邏輯層和表示層。各層操作屬于該層自己的數(shù)據(jù)對象,這樣就可以降低各層之間的耦合,便于以后系統(tǒng)的維護和擴展。如果將PO用在各個層中就相當于我們使用全局變量,我們知道在OO設計非常不贊成使用全局變量。  

       但是每次都得進行VO-PO的轉換,也確實很煩。我覺得有時候也可以在某個商業(yè)邏輯或者表示層使用PO,此時在這個商業(yè)邏輯的過程中PO的狀態(tài)是不發(fā)生變化的,比如顯示一條商品詳細信息的商業(yè)邏輯。  

       在開發(fā)過的項目中,規(guī)模都很小,我一直都把PO當VO用,因為PO確實很方便,結合Hibernate的DAO,我使用JAVA的集合對象作為值傳遞的載體,當然Struts也是我的不二之選。
  
       我認為:在一些直觀的,簡單的,不易發(fā)生變化的,不需要涉及多個PO時,傳遞值還是使用PO好,這樣可以減少大量的工作量(也就意味著減少bug,減少風險),也不需要擔心未來的維護工作!

來原:www
您需要登錄后才可以回帖 登錄 | 注冊(開放注冊)

本版積分規(guī)則

手機訪問本頁請
掃描左邊二維碼
本網(wǎng)站聲明
本網(wǎng)站所有內(nèi)容為網(wǎng)友上傳,若存在版權問題或是相關責任請聯(lián)系站長!
站長電話:0898-66661599    站長聯(lián)系QQ:12726567   
站長微信:hainanok
請掃描右邊二維碼
www.myujob.com

小黑屋|手機版|Archiver|重慶醫(yī)科大學論壇 ( 瓊ICP備10001196號-2 )

GMT+8, 2025-11-19 12:22 , Processed in 0.320487 second(s), 14 queries .

Powered by 校園招聘信息

© 2001-2020 重慶醫(yī)科大學論壇校園招聘

快速回復 返回頂部 返回列表