2011-10-31 43 views
1

我正在製作Prism桌面應用程序,並打算使用WCF服務在我的模塊中的視圖內填充列表框等。Prism Desktop應用程序中的棱鏡模塊和WCF服務引用

我已經閱讀從覆蓋引導覆蓋,並建立了我的解決方案,使我有: -

1)殼牌項目
2)基礎設施項目
3)模塊1
4)單詞數

在模塊1我有一個包含一個ObservableCollection 客戶由視圖模型中直接調用WCF服務填充的視圖模型。

我不覺得這是正確的,我想遵循Prism最佳實踐來引用WCF服務。在這方面,參考實現似乎沒有幫助我。

我的第一次嘗試是在基礎設施項目中創建一個IWCFCustomersAdapter接口,並將此呼叫轉發給WCF服務客戶端。它在基礎設施項目中實施。服務參考也被添加到基礎設施項目中。每個模塊都有對Infrastructure項目的引用,並使用WCF服務中定義的數據類型。

在這種情況下,其他/最佳選擇是什麼?界面是否仍然在基礎架構項目中,服務引用和實現是否在模塊中?不同選擇的優缺點是什麼?

任何提示和建議最受讚賞。

由於

亞歷

回答

2

的基礎設施模塊僅用於基礎設施,即,用於具有模塊一起工作的類型。這些主要是用於通信,事件聚合,異常處理等類型。我不會把服務適配器放在那裏。他們不屬於基礎設施。

從我的角度來看,專用服務模塊是一個更好的地方。如果您的服務器提供多種服務,則可以引入包含所有服務適配器以及DTO的服務器通信模塊。這些DTO也可以用作模型。

如果您的服務器提供了很多服務,您可以將服務模塊拆分爲更具體的服務,例如,具有會話管理,用戶管理,權限管理等用戶管理服務模塊。