MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

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


Abstract Factoryパターン

Abstract Factoryパターンは、

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

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

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

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

それぞれの対象に関して

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

デザインパターンです。


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

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

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

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

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


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

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

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

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

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

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

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

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

cpp/AbstractFactory.cpp at master AtsushiSakai/cpp

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com