看了幾套源碼,其中都有用到DTO,這篇文章主要來談論一下DTO使用的場合及其帶來的好處。
在傳統的編程中,我們一般都是前台請求數據,發送到Webservice,然后WebService向數據庫發出請求,獲取數據,然后一層層返回;模型如下:
這種比較原始的請求方式帶來的缺點有很多,多次 請求耗費一定的網絡資源,減慢效率。如果一次性返回整個實體類,還可能造成數據庫表結構的泄漏。
采用DTO模型之后,整個流程就不一樣了:
這樣帶來的好處有:
1.依據現有的類代碼,即可方便的構造出DTO對象,而無需重新進行分析。
2.減少請求次數,大大提高效率。
3.按需組織DTO對象,頁面需要的字段我才組織,不需要的我不組織,可以避免傳輸整個表的字段,一定程度上提高了安全性。
通過以上三點,可以看出DTO的設計應該具備這幾個特點:
1.按需放入字段。
2.保證貧血模型,不要放任何邏輯在里面。
參考文章: