這篇文章主要來談論一下DTO使用的場合及其帶來的好處。首先要理解DTO是什么?
DTO就是數據傳輸對象(Data Transfer Object)的縮寫。 DTO模式,是指將數據封裝成普通的JavaBeans,在J2EE多個層次之間傳輸。 DTO類似信使,是同步系統中的Message。 該JavaBeans可以是一個數據模型Model。
在傳統的編程中,我們一般都是前台請求數據,發送到Webservice,然后WebService向數據庫發出請求,獲取數據,然后一層層返回;模型如下:
這種比較原始的請求方式帶來的缺點有很多,多次請求耗費一定的網絡資源,減慢效率。如果一次性返回整個實體類,還可能造成數據庫表結構的泄漏。
采用DTO模型之后,整個流程就不一樣了:
這樣帶來的好處有:
1.依據現有的類代碼,即可方便的構造出DTO對象,而無需重新進行分析。
2.減少請求次數,大大提高效率。
3.按需組織DTO對象,頁面需要的字段我才組織,不需要的我不組織,可以避免傳輸整個表的字段,一定程度上提高了安全性。
結合個人的開發經驗來談一下用法:
一般我們使用DTO類來繼承entity實體類,在DTO類里放一些業務字段,並提供get、set方法。當我們在業務邏輯層或者交互層用到一些數據庫中不存在的字段時,我們就需要在DTO類里放這些字段,這些字段的意義就相當於一些經處理過的數據庫字段,實質意義就是方便數據交互,提高效率。