我的应用程序与大量的wcf服务进行通信,即我的应用程序有几个程序集,每个程序集都使用不同的wcf服务。
我正在寻找一个好的wcf客户端设计模式,这样我就可以保持我的代码简洁,可重用和优雅。
我消费的wcf服务都是一样的 - 基本上用于检查价格然后预订。
答案 0 :(得分:3)
当你说所有服务都相同时,我认为你的意思是他们相似。
如果它们真正相同,您应该能够为所有这些客户端使用相同的WCF客户端(只有不同的地址)。
如果不是这种情况,您可以定义符合公开功能的界面。这可能看起来像:
public interface IMyService
{
decimal GetPrice(int productId);
void Book(int thingId);
}
现在编写IMyService的实现,在每个WCF客户端和IMyService之间充当Adapters。
在应用程序的其余部分中,您只能针对IMyService接口进行编程。 (可选)您可以使用依赖注入将一个或多个具体的IMyService实现注入到应用程序代码中。