読書メモ数多くのコンストラクタパラメータに直面したときはビルダーを検討する多くのフィールドを持ち、それに伴って多くのコンストラクタパラメータを持つクラスは、初期化のコードを書くときに煩雑であったり、可読性に難があることが多い。このときに、ビルダーパターンを適用することの利点と欠点について述べられている。ビルダーパターンは、ビルダーオブジェクトを使って、オブジェクトの構築を行う。この項では、ビルダーオブジェクトによって初期化を行い、不変なオブジェクトを生成する。ビルダーパターンの利点ビルダーパターンを使ったクラスを以下に示す。メンバークラスである。あることと、外部からフィールドに書き込みできるメソッドがないことから、不変であるといえる。自分自身を返すため、オブジェクト生成時に、以下のようにメソッドを次々とつなげて書くことができる。.build();このコードを見ると、必須パラメータはビルダーのコンストラクタに渡しつつ、さらにオプションパラメータを自由に初期化できることがわかる。各パラメータの名前と値がペアになって並んでいるため、読みやすい。ビルダーの欠点ビルダーの欠点として、生成時のコストや、オプションパラメータが少ないときの冗長さが挙げられる。パターンを実現できるまとめオプションパラメータを多く持つクラスの設計時には、ビルダーパターンを使うとうまくいくことがある。ビルダーパターンにより、オブジェクト構築処理の読みやすさ、書きやすさが向上する。(2)前回に続いて、今回は実際に不変クラスを作ってみる。