『Java言語で学ぶデザインパターン入門』をPHPで実習する 第7章Builder

増補改訂版Java言語で学ぶデザインパターン入門

本記事に掲載したサンプルコードは、https://github.com/ryo-utsunomiya/design_patternでも公開中です。

Builderとは

Builderとは、構造を持ったインスタンスを組み上げるパターンです。

ここでは、文書を構成するためのBuilderクラスと、Builderクラスを使って文書を組み上げるDirectoryクラスを実装します。

まず、Builderの挙動を定めたインタフェースを作成します。

次に、Directorを実装します。Directoryは、Builderインタフェースのメソッドだけを実行します(「抽象に依存せよ」)。

これで、「文書を構成する仕組みの骨組み」と、「文書を実際に作成する処理」が出来ました。次に、実際に文書を作成する処理を実装します。

ここで実装した、TextBuilderクラスは、単純な文字列を組み立てるクラスです。Builderはインタフェースが定義されているので、必要に応じて、HtmlBuilderなどのクラスを実装することもできます。

TextBuilderを使用したコードは以下のようになります。

コメントを残す