2010-02-24 3 views
4

내 응용 프로그램은 많은 wcf 서비스와 통신합니다. 즉, 응용 프로그램마다 서로 다른 wcf 서비스를 사용하는 여러 어셈블리가 있습니다.좋은 WCF 클라이언트 디자인 패턴

나는 코드를 간결하고 재사용 할 수 있고 우아하게 유지할 수 있도록 좋은 wcf 클라이언트 디자인 패턴을 찾고있다.

내가 소비하는 wcf 서비스는 모두 동일합니다. 기본적으로 가격을 확인한 다음 물건을 예약하는 데 사용됩니다.

답변

3

모든 서비스가 동일하다고 말하면 과 비슷한을 의미한다고 가정합니다.

진정한 인 경우 모두 동일한 주소로 다른 모든 WCF 클라이언트를 사용할 수 있어야합니다.

그렇지 않은 경우 노출 된 기능을 준수하는 인터페이스를 정의 할 수 있습니다.

public interface IMyService 
{ 
    decimal GetPrice(int productId); 

    void Book(int thingId); 
} 

지금 각 WCF 클라이언트와 IMyService 사이 Adapters 역할을 IMyService의 구현을 쓰기 :처럼이 보일 수 있습니다.

나머지 응용 프로그램에서는 IMyService 인터페이스에 대해서만 프로그램합니다. 선택적으로, 종속성 주입을 사용하여 하나 이상의 콘크리트 IMyService 구현을 응용 프로그램 코드에 삽입 할 수 있습니다.

+0

감사합니다. 당신이 Dependency Injection을 말할 때 당신이 생성자로서 클래스를 전달한다는 것을 의미합니까? – TheLearner

+0

예, 생성자를 통해 종속성을 전달하는 것이 주 DI 패턴입니다. –