【EffecitiveJava】

タイトルの通り。
せっかく読んだので「読んだ」、「理解した」で終わらせるのではなく、
「使える」、「説明できる」レベルを目指して書いていこうかと。
副産物として文章作成能力の向上も期待しつつ^^

<第 2 章 オブジェクトの生成と消滅>
項目1:コンストラクタの代わりに static ファクトリーメソッドを検討する

■著書からの要点(太文字)抜粋
・staticファクトリーメソッドの1つ目の長所は、コンストラクタと異なり、名前を持つことです。
・staticファクトリーメソッドの2つ目の長所は、コンストラクタと異なり、メソッドが呼び出されるごとに新たなインスタンスを生成する必要がないことです。
・staticファクトリーメソッドの3つ目の長所は、コンストラクタと異なり、メソッドの戻り値型の任意のサブタイプのオブジェクトでも返すことができることです。
・staticファクトリーメソッドの4つ目の長所は、パラメータ化された型のインスタンス生成の面倒さを低減することです。

・staticファクトリーメソッドの主な短所は、publicあるいはprotectedのコンストラクタを持たないクラスのサブクラスを作れないことです。
・staticファクトリーメソッドの2つ目の短所は、それらが容易に他のstaticメソッドと区別がつかないことです。

■所感
1つ目の長所については、コンストラクタ内で何か処理をする必要がある場合は有効かも。
2つ目の、3つ目はそういう用途・目的があるのならば必要事項かと。
4つ目はわかるともわからず。。使ってみればかなぁ。
1つ目の短所はそこまでピンと来なかったけど、2つ目の短所についてはそれなりにわかるかも。
メソッドのルール化やネーミングのルール化などが必要になるかもなぁ。



Effective Java 第2版 (The Java Series)

Effective Java 第2版 (The Java Series)