2010-04-21 44 views
2

從我的角度來看,從服務器端域模型查詢簡單對象圖時,Data Services及其查詢方法很有用。但是當你想查詢複雜的依賴關係時,我無法從中創建任何好的東西。從服務器查詢/保存:DTO或Wcf數據服務的「更好」方法是什麼?

經典的DTO方法是細粒度的,可以處理所有事情,但缺點是您必須爲每種類型的服務器請求創建Dto類,這非常耗時且您必須將Dto類型與您的域同步實體/業務邏輯。

回答

4

取決於您對「更好」的定義 - 無論這意味着更快上市還是更易於長期維護應用程序。

手工編寫DTO的將意味着最初的開發工作將可能長於使用工具如WCF數據服務。然而,只露出DTO的申請將被更多的從比WCF數據服務內部域模型分離,所以以後的維護修復可能會更容易和更短。

我會傾向DTO的,如果你有最初的發展資金中有足夠的時間和預算將被保存,如果應用程序生命足夠長的時間,它會更容易修復/修改。同樣使用諸如Automapper之類的工具可以緩解許多與域對象和DTO之間的映射相關的痛點。

+0

這是更好的方式是在引號:),對我來說這將是DRY原則,可維護性,代碼安全 – Bonefisher 2010-04-21 11:48:43

2

另一種方法是使用一個由這是在DTO(無映射)的形式的數據的持久性視圖模型。查看來自Udi的CQRS

相關問題