Builderパターン@java言語で学ぶデザインパターン入門

Java画像

参考書籍

Builderパターンとは?

書籍では以下のように説明されていました。

構造を持ったインスタンスを組み上げていくものを
Builderパターンと呼ぶ

メリット

  1. 組み上げていく過程の詳細を隠蔽できる
  2. 交換可能性を持つことができる
  3. 依存性の注入(DI)をすることができる

詳細はサンプルコードを見ながら解説していきます。

サンプルコード

Builderクラス

文章を作るインターフェースです。

抽象クラスとして定義してもOKです。

Directorクラス

Builderクラスに宣言されているメソッドを使って、construct()メソッド内で文章を組み上げていきます。

このクラスでは先述したメリット①〜③を確認することができます。

まずconstruct()メソッド内で「組み上げていく過程を隠蔽している」ことを確認できます。(メリット①)

次にコンストラクタの引数がインターフェースであることに注目してください。

これによりBuilderクラスを実装したクラスであればどんなクラスでも引数として渡してあげることができます。(メリット②③)

TextBuilderクラス

実際にどのような文章を作るかを実装しているクラスです。

なぜString型ではなく、StringBuilder型の変数を持っているかというと、文字列を連結する際の実行効率が良いからです。

Mainクラス

出力は以下の通りです。

コメントを残す

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

CAPTCHA


error: Content is protected !!