2009-04-17 3 views
1

スティックXMPPConnectionを作成するファクトリを作成したいとします。 ファクトリは、接続が確立できなかった場合は、実際のXMPPConnectionまたはNullObjectを返す必要があります。実オブジェクトとNullObjectの両方をサポートできるファクトリを作成する

ただし、smackのXMPPConnectionは具象クラスです。

これはインターフェイスを実装していないため、suckerをプロキシするためにJava動的プロキシAPIを使用することはできません。私はXMPPConnectionを拡張することができますが、それはあまり優雅ではありません。

その他のオプションはありますか?ファクトリはnullを返さないでください。

答えて

3

基本的にXMPPConnectionを複製し、そのインターフェイスを実装し、実際のXMPPConnectionクラスをラップするアダプタを作成する独自のインターフェイスを作成する必要があります。そうすれば、NullXMPPConnectionを持つこともできます。

+0

これはきちんとした考えです。努力する価値はありますか?私はちょうど工場をあきらめ、毎回新しいXMPPConnectionを行うことができます。 –

+0

この接続を作成している場所が1つの場所にあるのであれば、おそらくその価値はありませんが、その場所全体で使用すると「はい」と言います。あなたはCVに多くのデザインパターンを追加することもできます:) – willcodejavaforfood

+0

私はXMPPConnectionが必要な場所を3つカウントします。私はGUICE環境で働いています。だから工場が私にさまざまなクラスへの接続を注入するのを助けている。 –

関連する問題