2010-02-24 38 views
4

我的應用程序與大量的wcf服務進行通信,即我的應用程序有幾個組件,每個組件都使用不同的wcf服務。一個很好的WCF客戶端設計模式

我正在尋找一個很好的wcf客戶端設計模式,以便我可以保持我的代碼簡潔,可重用和優雅。

我使用的wcf服務都是一樣的 - 基本上用於檢查價格,然後預訂的東西。

回答

3

當你說所有的服務是相同的,我推測你的意思是他們是類似

如果他們真的是相同的,你應該能夠使用相同的WCF客戶端爲他們所有(只是用不同的地址)。

如果不是這種情況,您可以定義一個符合公開功能的接口。這可能是這樣的:

public interface IMyService 
{ 
    decimal GetPrice(int productId); 

    void Book(int thingId); 
} 

現在寫IMyService充當每個WCF客戶端和IMyService之間Adapters的實現。

在您的其他應用程序中,您只能針對IMyService接口進行編程。或者,您可以使用依賴注入將一個或多個具體的IMyService實現注入到應用程序代碼中。

+0

謝謝。當你說依賴注入時,你的意思是你作爲構造函數傳入類嗎? – TheLearner 2010-02-25 11:12:28

+0

是的,通過構造函數傳遞依賴關係是主要的DI模式。 – 2010-02-25 11:45:26