2012-03-22 7 views
1

ファクトリメソッドの目的は、コンストラクタを暗黙的に呼び出さないように動的に選択されるサブクラスのインスタンスを取得する手助けをすることではありませんか?なぜ、いくつかの場合、サブクラスごとに複数のファクトリクラスが使用されるのはなぜですか?それが正しいと分かっている場合は、各サブクラスに対して、対応するファクトリのメソッドを呼び出す必要があります。ここでファクトリメソッドを使用する理由はありません。複数のファクトリクラスを使用する理由

答えて

0

1)さまざまな開発者が独自の工場クラスを提供することが理にかなっている分散アプリケーションがあるかもしれません。

2)依存性注入を使用したテストでは非常に便利です。

3)異なるアルゴリズムを実装するが、同じタイプのデータオブジェクトを提供する複数のファクトリクラスが存在することがあります。

クラシックNetBeansの例:

JEditorPane.registerEditorKitForContentTypeは、自分のキットを登録しようとしている複数の のモジュールが存在することになると予想されているようにキット MIMEタイプごとに登録することができます。

+0

1)結果として乱雑なコードですか? 2)、3)1つの工場と同じ – Sergey

+0

3)単一の工場クラスでどのように達成できますか?スイッチの演算子の多くは?ちょっと興味があるんだけど。 – Flot2011

+0

単一の工場とは異なる方法、何が問題なのですか? – Sergey

関連する問題