2012-04-12 77 views
1

我目前正在寫一箇中/大的silverlight應用程序。數據合同或客戶端模型?

我現在的架構如下。

在服務器端,我擁有使用實體框架ORM從現有數據庫創建的實體對象。

我有WCF服務,這些方法將表示我的實體對象的Datacontracts傳回給客戶端Silverlight應用程序。

我的問題是在recieving對Silverlight的側Datacontract我應該 1)使用這個DataContract作爲我在MVVM 2型)的datacontract轉換成客戶端模型對象MVVM使用。

選項1:我不確定在客戶端將Datacontracts視爲模型,因爲它們是最終的WCF消息類型,所以它不被認爲是一般不好的做法。

選項2:此opotion讓我完全脫離服務器,並允許我從行爲驅動方法開發我的代碼。

+0

您是否考慮過使用WCF RIA服務,這是使用Silverlight構建的? http://msdn.microsoft.com/en-us/library/ee707344(v=vs.91).aspx – 2012-04-12 09:17:29

+0

是的但不幸的是,決定不使用Ria,因爲這些服務僅適用於Silverlight。 – caa 2012-04-12 09:29:38

回答

2

在您的評估中,用於WCF的數據契約可以被認爲是數據傳輸對象,這是將數據傳入和傳出服務的一種方式。

另一方面,您的模型可能包含行爲,業務規則和驗證。所以我會選擇2.

這也將允許您更容易地管理服務和客戶端應用程序中的更改,因爲服務不會與服務的特定使用者耦合。