MyEnigma

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

C++によるデザインパターン8: Abstract Factoryパターン

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

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

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

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

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


Abstract Factoryパターン

Abstract Factoryパターンは、

共通の部品で構成された対象に対して、

抽象部品クラスを作成し、

その抽象部品クラスを作成する

抽象工場クラスを作成し、

それぞれの対象に関して

これらの抽象クラスを実装するサブクラスを作成する

デザインパターンです。


共通の部品を使用するクラスを

抽象部品クラス&抽象工場クラスを利用して

作成することで、クライアントソフトは

部品の詳細な中身を気にせずに利用できます。

また新しい部品群と工場を追加することも簡単になります。


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

仮想の食事クラスとその食事の工場クラスを作成し、

日本食とアメリカ料理のオブジェクトを作成していますが、

Mainコードをみると分かる通り、

オブジェクトを変化させるだけで、コードの中身を考えずに、

2つの国の料理を食べることができています。

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

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

cpp/AbstractFactory.cpp at master AtsushiSakai/cpp