2012-04-02 4 views
1

サードパーティのWebサービスAPIに接続するツールを設計しています。 。この単一のクライアントインスタンスは、メソッドを実行するためにクライアントをプロキシとして使用する他のいくつかのクラスに対して再利用する必要があります。終了したら、この単一のクライアントのAPIへの接続を閉じる必要があります。共通のクライアントクラスを作成して接続して共有するにはどうすればいいですか?

ただ1つのインスタンスを作成し、他のすべてのクラスでそのインスタンスへの参照を渡すことができます。または、静的クラスを使用することもできますが、実際には最良の方法とは感じられません。

この1つのクライアントインスタンスを作成して共有するのに最適なOOP設計は何ですか?私は基本クラスを作成し、それを他のクラスに継承する必要があります。そして、何らかの形で共通のクライアント参照を使用しますか?

私はそれの周りに頭を上げることはできません。あなたは正確にシングルトンのような音を記述していると私は考えて何

答えて

0

これは、WinFormsのアプリケーションのであれば、それは静的作ることはOKです。それはいつも同じスレッドによって再利用されています。

ただし、共有プロキシに障害が発生する可能性に対処するには、まだロジックを用意しておく必要があります。それはあなたが呼ぶサービスに例外があるときに起こります。フォールトが発生すると、プロキシは使用できなくなり、置換する必要があります。

したがって、より良い方法は、基本のプロキシに障害が発生した場合にget {}で置き換えられるConnectionプロパティを公開するシングルトンを作成することです。

関連する問題