如何创建一个通用的客户端类,连接和共享连接

问题描述:

我设计的工具(在.NET)它可以连接到第三方的Web服务API,并且一旦连接创建一个单一的客户端参考该API 。这个单个客户端实例需要重用于其他几个将使用客户端作为代理来执行其方法的类。完成后,我需要关闭此单个客户端与API的连接。如何创建一个通用的客户端类,连接和共享连接

我可以创建一个实例,并在所有其他类传递一个参考吧。或者我可以使用静态类,但这并不是最好的方式。

什么是最好的面向对象设计,我可以用它来创建和共享此单一客户实例?我应该创建一个基类,并在我的其他类中继承它,并且它们以某种方式使用单个公共客户端引用?

我无法理解它。

你所描述的声音酷似一个单身,我认为是一个很好的用例一 - 看到这篇文章:http://dotnet.dzone.com/news/c-singleton-pattern-vs-static-

+0

谢谢Aerik。这篇文章展示了我想达到的目标。 – 2012-04-02 19:22:24

如果这是一个WinForms应用程序,使之静是OK。无论如何,它始终由同一个线程重用。

你应该还是有一定的逻辑的地方,不过,对付的是,共享代理获取故障的可能性。当您拨打的服务中存在异常情况时会发生这种情况。一旦出现故障,代理不能再使用,必须更换。

因此,更好的方法是创建一个公开,其获取潜在的代理被指责的情况下,获得{}更换连接属性是独生子。