MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

C++によるデザインパターン7: Builderパターン

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

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

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

  • 作者: エリックガンマ,ラルフジョンソン,リチャードヘルム,ジョンブリシディース,Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides,本位田真一,吉田和樹
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 1999/10
  • メディア: 単行本
  • 購入: 21人 クリック: 711回
  • この商品を含むブログ (212件) を見る


Builderパターン

Builderパターンとは、

複雑なオブジェクトを複数種類作成したい時に、

そのオブジェクトの作成の共通処理を抽象クラスでまとめ、

具体的な処理をサブクラスに規定させて

複雑なインスタンスを作成するパターンです。


あるオブジェクトの「作成過程」と、

具体的な「作成方法」を別々のクラスで規定することにより、

変更に柔軟なソフトウェアを作成することができます。


サンプルプログラムでは、

ある文章の装飾をしたい時に、

装飾をする過程と、装飾する方法を

Builderパターンに当てはめています。


このような方法を利用することにより、

別の装飾方法を追加したい時も、

他のクラスへの影響を最小限にした状態で、

簡単に追加することができます。


C++によるサンプルコード

下記のGitHubページにて公開しています。

cpp/Builder.cpp at master AtsushiSakai/cpp