Хороший шаблон дизайна клиента WCF - PullRequest
4 голосов
/ 24 февраля 2010

Мое приложение связывается с большим количеством сервисов wcf, т. Е. Мое приложение имеет несколько сборок, каждая из которых использует свой сервис wcf.

Я ищу хороший шаблон проектирования клиента wcf, чтобы мой код был кратким, многократно используемым и элегантным.

Услуги wcf, которые я использую, одинаковы - в основном они используются для проверки цен и последующего бронирования.

1 Ответ

3 голосов
/ 24 февраля 2010

Когда вы говорите, что все службы одинаковы, я предполагаю, что вы имеете в виду, что они похожи .

Если они действительно идентичны , вы сможете использовать один и тот же клиент WCF для всех них (только с разными адресами).

Если это не так, вы можете определить интерфейс, который соответствует предоставляемой функциональности. Это может выглядеть так:

public interface IMyService
{
    decimal GetPrice(int productId);

    void Book(int thingId);
}

Теперь напишите реализации IMyService, которые служат Адаптерами между каждым клиентом WCF и IMyService.

В остальной части вашего приложения вы программируете только с интерфейсом IMyService. При желании вы можете использовать Внедрение зависимостей , чтобы внедрить одну или несколько конкретных реализаций IMyService в код приложения.

...