2010-02-24 8 views
4

Mon application communique avec un grand nombre de services wcf, c'est-à-dire que mon application a plusieurs assemblys qui consomment chacun un service wcf différent.Un bon modèle de conception de client WCF

Je suis à la recherche d'un bon modèle de conception client wcf afin que je puisse garder mon code concis, réutilisable et élégant.

Les services wcf que je consomme sont tous les mêmes - l'essentiel est de vérifier les prix, puis de réserver.

Répondre

3

Lorsque vous dites que tous les services sont identiques, je présume que vous voulez dire qu'ils sont similaires.

S'ils sont vraiment identiques, vous devriez être en mesure d'utiliser le même client WCF pour chacun d'entre eux (juste avec des adresses différentes).

Si ce n'est pas le cas, vous pouvez définir une interface conforme à la fonctionnalité exposée. Cela pourrait ressembler à:

public interface IMyService 
{ 
    decimal GetPrice(int productId); 

    void Book(int thingId); 
} 

maintenant écrire des implémentations de IMyService qui sert Adapters entre chaque client WCF et IMyService.

Dans le reste de votre application, vous programmez uniquement sur l'interface IMyService. En option, vous pouvez utiliser Injection de dépendances pour injecter une ou plusieurs implémentations IMyService concrètes dans le code de l'application.

+0

Merci. Quand vous dites Injection de dépendance, voulez-vous dire que vous passez dans la classe en tant que constructeur? – TheLearner

+0

Oui, transmettre des dépendances à travers le constructeur est un schéma DI principal. –

Questions connexes