2011-05-05 26 views
0

我應該把我的DTO對象放入我的域服務/業務層嗎?DTO對象設計c#asp.net mvc2

可以這樣的屬性有數據註釋,這是一個很好的做法嗎?特別是用asp.net mvc 2進行客戶端驗證? (我沒有訪問asp.net mvc3,否則我將有權訪問IClientValidator?或類似的接口)...

否則,所有我的valdiation是在c#中,我將任何錯誤冒泡到UI或Web項目

我希望是這樣回答上述認識到DTO翻譯成我的域名服務層內的實體..

回答

2

你應該把你的DTO在單獨的程序,以避免層耦合。

在這裏閱讀更多:http://martinfowler.com/eaaCatalog/separatedInterface.html

這種性質可以有數據註解,這是很好的做法

是的,我是這麼認爲的。因爲它使所有圖層能夠驗證對象而無需重複代碼。屬性也被添加到sandcastle生成的幫助文件中,讓每個人都可以看到它,看看您的模型/ DTO具有什麼合同要求。

+0

謝謝...數據註釋我只會真正用於asp.net mv2,如果我轉到v3我將使用那裏的可用選項... – Haroon 2011-05-05 09:21:18

+0

我也在mvc3中使用DataAnnotations。你指的是什麼其他選項? – jgauffin 2011-05-05 11:34:16

+0

客戶端驗證...我認爲在mvc3中,據我所知,有一個選項掛鉤到客戶端驗證,我做我的業務邏輯的方式是在C#中,我將實現相關接口,以便客戶端驗證也可以顯示給用戶...我不認爲我正確理解這一點,我想我可能需要看看這個...你知道一種方式,我可以掛鉤到mvc2客戶端驗證,而無需使用數據註釋? – Haroon 2011-05-05 14:58:40