goldrain

          金色雨點

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            37 隨筆 :: 2 文章 :: 239 評論 :: 0 Trackbacks
          ?
          DTO,Data Transfer Object.在以前的開發(fā)探討中,我曾經認為DTO必須和PO(持久化對象)劃清界線,要單獨構建類.
          ?
          從分層開發(fā)講,DTO負責層間的數據傳遞,是必不可少的,但實際開發(fā)經驗告訴我,大量的只有屬性的DTO對象的存在,雖然把開發(fā)分層的清清楚楚,
          然而這些DTO類卻又的確貧血,不但使代碼量急劇增加,而且隨著數量的增大,DTO的類命名和屬性命名也會難以規(guī)范.
          ?
          其實象Hibernate這樣的持久化框架,其PO已經是足夠簡單的POJO對象,可以設法利用其PO類構建DTO使用.請注意雖然這么做了,但從概念上DTO和PO仍然屬于不同層,后者才是操作數據庫的.
          ?
          以前就有人這么嘗試過,不過會遇到一個問題:就是在進行DTO到PO的屬性拷貝時,無法區(qū)分哪些屬性需要拷貝,哪些不需要.
          ?
          這個問題其實可以解決的,用PO類構造DTO時,我們可以先對DTO的所有屬性設置無用的初始值,然后再針對部分屬性設置進前臺傳遞的業(yè)務數據,這樣就構造好了一個DTO對象了.在進行DTO到PO的屬性拷貝時,可略過那些帶無用初始值的屬性,只拷貝帶業(yè)務數據的屬性.
          ?
          使用了PO類來構造DTO,使我現在項目的代碼精簡了很多.
          posted on 2007-02-25 16:02 goldrain 閱讀(1798) 評論(2)  編輯  收藏

          評論

          # re: 對DTO的再認識: 用PO代替DTO 2007-02-25 21:58 零雨其蒙
          "從概念上DTO和PO仍然屬于不同層,后者才是操作數據庫的."我覺得此話欠妥,PO應該是和表對應的,跟表是一種對應關系,而操作數據庫的應該是DAO。最近在研究《UML和模式應用》,希望討論之。
            回復  更多評論
            

          # re: 對DTO的再認識: 用PO代替DTO 2007-02-26 11:49 goldrain
          呵呵,我寫文字的確不夠嚴謹,其實是DAO用PO操作數據庫  回復  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 苏州市| 普兰店市| 桓台县| 上虞市| 天水市| 遵化市| 博野县| 瓦房店市| 广灵县| 科尔| 开平市| 宜良县| 寿宁县| 洪洞县| 庆城县| 乳山市| 拉孜县| 黎川县| 通道| 涟水县| 晴隆县| 财经| 兰考县| 堆龙德庆县| 宝鸡市| 古交市| 象山县| 漠河县| 松江区| 乐至县| 德庆县| 仁寿县| 龙川县| 英德市| 泸溪县| 长泰县| 西峡县| 赤壁市| 德惠市| 三江| 海南省|