2011-10-20 74 views
0

我是MVC的新手,我想與那些可能在這裏有一些經驗的人覈對。MVC模型與WCF DataContract設計

如果我理解正確,MVC中的模型用於封裝視圖邏輯,您希望在視圖級別發生的行爲。對於相同類型的數據(例如,EF模型,WCF DataContract),實際上可能有2或3種不同的模型來支持編輯和/或呈現數據。

我很擔心DRY,但我現在認爲WCF合約將被「翻譯」到給定視圖的模型對象中是正確的。實際上,模型會有一個來自WCF DataContract的構造函數,他們將有一種方法可以根據模型中的數據生成DataContract?

建議?

回答

0

「MVC中的模型用於封裝視圖邏輯,您希望在視圖級別發生的行爲」 - 我不同意這一點。該模型應該是您的業務概念的代表。 查看涉及演示並呈現模型(例如作爲HTML頁面)。

您的模型的形式可能是具有行爲的域對象,或者如果這是由另一個服務封裝,則該服務返回的數據契約。視圖本身應該很大程度上不知道模型正在傳遞給它的「類型」。它應該只關心製作渲染所需的相關數據。

請注意,MVC還具有ViewModel的概念,該模型是專門設計用於包含特定視圖渲染所需的所有信息的模型中的項目的表示,請參閱我的回答here瞭解更多。