LoginSignup
0
0

More than 1 year has passed since last update.

Effective Java 第3版まとめ(項目2)

Last updated at Posted at 2022-04-11

項目2.多くのコンストラクタパラメータに直面したときにはビルダーを検討する

書かれている内容

  • staticファクトリメソッドとコンストラクタは、多くのオプションパラメータに対しては、どちらもうまく対応できない
  • テレスコーピング・コンストラクタ・パターンは、コードを書くのが困難になり、加えてそのコードを読むのはさらに困難になる
  • JavaBeansパターンは生成過程の途中で不整合な状態にあるかもしれない
  • JavaBeansパターンはクラスを不変にする可能性を排除してしまう
  • ビルダーはテレスコーピング・コンストラクタ・パターンの安全性とJavaBeansパターンの可読性を組み合わせている

個人の見解

ビルダーを検討しないといけないようなオプションパラメータが多い状況は、オブジェクトの責務が大きすぎるように思う。
まずはオブジェクト指向エクササイズの「1つのクラスにつきインスタンス変数は2つまでにすること」を心がけた上で、選択肢の1つとしたい。

オブジェクト指向エクササイズとは

9つのルール

  1. 1つのメソッドにつきインデントは1段階までにすること
  2. else 句を使用しないこと
  3. すべてのプリミティブ型と文字列型をラップすること
  4. 1行につきドットは1つまでにすること
  5. 名前を省略しないこと
  6. すべてのエンティティを小さくすること
  7. 1つのクラスにつきインスタンス変数は2つまでにすること
  8. ファーストクラスコレクションを使用すること
  9. Getter, Setter, プロパティを使用しないこと

リファクタリング用コード

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0