国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用Hibernate的項目中對VO的理解

2019-11-18 11:19:49
字體:
來源:轉載
供稿:網友

        前段時間我參與了使用Struts,ibernate的項目,如今項目已經結束,對多層系統的設計有了一些理解.這個項目主要的實現思想和這篇文章---結合struts和hibernate談J2EE架構的數據表示, 講述的是一致的.大家可以先瀏覽一下,我主要想和大家討論一下VO.

       Web層的數據表示是FormBean,數據來源于Html Form POST
       業務層的數據表示是VO
       持久層的數據表示是PO,其數據來源于數據庫,持久層的數據表示例如CMP 

       一般系統的結構是這樣的, Action(Web Control) ---> Business Bean ---> DAO ---> ORM --->DB ,可以看出VO的作用就是把數據從Dao層傳遞到Action中,或者Action傳遞到Dao中, 其實就是 FormBean ---> VO---> PO,或者PO---->VO---->FormBean. 當然就想Robbin說的那樣,好多的系統喜歡省掉VO,直接讓PO傳遞到FormBean,或者在Action中new一個PO,把PO傳遞到DAO中,這樣也是可以的, 主要也就是因為Hibernate功能強大,PO能脫離持久層,像JDO之類的就不可以了,所以在規劃系統的時候,必須考慮一個情況是,你的系統以后在維護的時候,是否可能更改持久層產品, 假如可能VO 還是需要的,不然你會修改會很痛苦.
        當然省掉VO確實很爽,我們的系統就是這樣的,比較方便,不用再去維護一個VO,效率上當然有不小的提高,但是還有個要注重的問題就是數據庫的設計, 一般來說在面向對象編程中,數據庫應該使用面向對象的思想設計, 但是這個好多的系統設計是做不到的,或者是老系統沒法改變. 存在的問題就是表的設計不合理, 就會出現表的字段很多,當然對應的PO也就會很大,但有時有些信息并不是表示層所需要的也會傳遞過去,效率上肯定是受損失的,所以這個時候可以使用VO, VO的大小當然可以按照實際的需要定制,非凡是在查詢的數據很多的時候,對效率有一定的提高的.

   這是我的一點小的體會,希望大家多多討論.      

 



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊宁市| 会同县| 德令哈市| 离岛区| 彰化市| 镇远县| 辽中县| 贵州省| 荆门市| 茂名市| 芦溪县| 郁南县| 斗六市| 龙南县| 阿拉善右旗| 江都市| 苗栗市| 西乌珠穆沁旗| 千阳县| 黎川县| 金昌市| 德惠市| 普定县| 牡丹江市| 洛川县| 阿勒泰市| 元氏县| 托克托县| 无为县| 辽阳县| 格尔木市| 新蔡县| 中阳县| 陇西县| 聂荣县| 磴口县| 昌吉市| 玛纳斯县| 河池市| 天柱县| 开远市|