1

私のシングルトンクラスはインターフェースを実装しており、将来的には多くの具体的な実装が出てくると期待できます。このクラスのインスタンスをファクトリメソッドで作成することを考えています。ファクトリメソッドがオーバーロードされている可能性があります。私の質問は、このアイデアがどれほど良いか悪いかです。

4

2 に答える 2

1

更新されたコメントに基づいて、それができることを確認してください。ファクトリメソッドは、オーバーロードされたパラメータまたはパラメータの列挙型/整数値に基づいて、永続性クラスのシングルトン実装を作成します。このパターンを使用するフレームワークはたくさんあります。たとえば、さまざまなプロトコルに基づいてサーバーと通信するクライアントのインスタンスを提供します。

MyFactory.pbClient("host", port);
MyFactory.httpClient("host", port);
于 2013-03-19T11:57:32.193 に答える
0

ファクトリメソッドから返されるインスタンスがシングルトンであるかどうかは関係ありません。それは実装の選択です-あなたのニーズに合った正しいことをしてください。

また、メソッドシグネチャがインターフェイスを返す場合、技術的には、ファクトリメソッドではなく、抽象ファクトリメソッドです

于 2013-03-19T12:08:47.480 に答える