JavaのデザインパターンBuilder

JavaのデザインパターンBuilder

Builderパターンはいくつかパターンがありますが、最後に.build()メソッドを使ってインスタンス生成するデザインパターンが良く使われているようです。

使うケースはコンストラクタの引数が多くなってしまう場合はBuilderパターンを使います。

メリット

  • イミュータブルなインスタンス生成が可能(Builderクラスを経由する為)
  • スレッドセーフ
  • コンストラクタの引数の意味が、Builderパターンによって視覚的にわかりやすくなる

特徴

  • staticなBuilderクラスを作成する
  • コンストラクタは不可視(private)にして、インスタンス生成できないようにする
  • buildメソッドでインスタンスを生成する(new)

サンプルソース

以下がBuilderパターンを使用しているHumanクラスです。

Lombokの@Builderアノテーションを使用してBuilderパターンを実装することも可能です。

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA