JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Software Design  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
話題被移動
該話題已被移動 - browser , 2004-12-20 13:05
如果您尚不清楚該話題被移動的原因,請參考論壇規則以及本版公告或者聯系本版版主。
本主題所含的標籤
無標籤
作者 Re:請問DTO跟DAO兩者的關係是什麼? [Re:hahawawa]
zanta





發文: 78
積分: 4
於 2004-12-21 00:01 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
DTO:Data Transfer Object
DAO:Data Access Object

由名稱來猜,DTO 就是類似用來作資料傳輸的 Java 類別,個人看過的寫法是寫成有 getter/setter 的 JavaBean
透過 DTO 可以很方便地將資料跨 tier 傳遞,且完整封裝

比如:

Servlet 產生 DTO 物件,將 Client 端輸入的資料透過 setter 寫進 DTO,呼叫企業邏輯處理元件時將 DTO 物件當成參數向後端傳遞

而後端的企業邏輯處理元件就可以透過 DTO 的 getter 取出所需要的資料,並進行運算
若後端運算完畢之後必須要將處理結果傳回 Client 端,也是透過 DTO 的 setter 設定新的值,並回傳給 Servlet

這整個過程當中都只需要 DTO 物件一個參數,像坐捷運一樣從前端一路傳到後端
不需要串一堆參數傳來傳去的,若後端須新增參數時也只需要更改 DTO 及用到相關 getter/setter 的程式碼即可,大部分程式都不需要變動

這樣看起來似乎有點像簡易版的 Struts form bean.... Big Smile

至於 DAO,是跟資料庫存取有關的類別
我看過的做法是將所有操作資料庫的動作都萃取集中起來寫成特定的公用類別
程式中若需要存取資料庫時一律透過 DAO 處理

這樣的好處是,當資料庫更換時,僅需抽換 DAO 即可,其他程式可以繼續使用,可以將應用程式與資料庫的耦合度降低

以上為小弟所看過的部份,若有錯誤或補充還請不吝指教~ 大家一起討論討論 Tongue


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
8737 請問DTO跟DAO兩者的關係是什麼? hahawawa 39 2004-12-20 12:41
8695 Re:請問DTO跟DAO兩者的關係是什麼? zanta 700 2004-12-21 00:01
6826 Re:請問DTO跟DAO兩者的關係是什麼? jini 29 2004-12-21 00:59
6705 Re:請問DTO跟DAO兩者的關係是什麼? zanta 883 2004-12-21 10:31
6467 Re:請問DTO跟DAO兩者的關係是什麼? anthonychen 185 2004-12-21 11:06
8764 Re:請問DTO跟DAO兩者的關係是什麼? next 767 2005-08-27 18:51
6737 Re:請問DTO跟DAO兩者的關係是什麼? next 34 2005-08-27 18:55
6523 Re:請問DTO跟DAO兩者的關係是什麼? hahawawa 25 2004-12-23 08:31
6676 Re:請問DTO跟DAO兩者的關係是什麼? hahawawa 66 2004-12-23 08:36
7493 Re:請問DTO跟DAO兩者的關係是什麼? ysho 178 2005-02-18 15:15
5433 Re:請問DTO跟DAO兩者的關係是什麼? next 241 2005-08-25 22:01
» JWorld@TW »  Software Design

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8