2012-11-03 18 views

答えて

19

有効なJavaアイテム1:コンストラクタの代わりに静的なファクトリメソッドを検討してください。

staticファクトリメソッドの利点のいくつかは、次のとおりです。

  • 彼らは自動的に彼らは私たちが継承パターンを制御することを可能にする型パラメータ前のJava 7
  • を推論:私たちはせずにグアバ内のコレクション型のサブクラスを作成することができます外部コードはそれらをサブクラス化します。
  • これらは、希望のタイプの任意のサブクラスを返すようにして、実装の詳細を隠すことができます。
+5

本の内容は[オンラインで入手可能](http://my.safaribooksonline.com/book/programming/java/9780137150021/creating-and-destroying-objects/ch02lev1sec1)です。 – david

+1

私は、エンドユーザーの視点から最も重要な利点を追加します。明確な名前が付けられています。 'newHashMapWithCapacity(100)'は 'new HashMap (100)'よりはるかに明確です。 –

+2

@JBNizet:私たちはJDKコレクションの実装にこれらのメソッドを提供していますが、自国のコレクション型では、実際には 'create'よりも詳細なファクトリ名はありません。 (私はそれが正しい呼び出しであるかどうか確信していません、あなたが記述した理由のために。) –

関連する問題