AbstractFactory

とあるインスタンスに、いろいろな情報を設定したい時に、関係ない情報は設定したくないというのがある。
関係ある情報それ専用の工場を作り、そこから得た情報を設定できるような構造をAbstractFactoryパターンという。

8. AbstractFactory パターン | TECHSCORE(テックスコア)

main.cppは、

class_first_factoryから、ヘッダとフッタを作成し、表示。
次に、class_second_factoryからヘッダとフッタを作成し、表示。

$ vi main.cpp 
$ g++ -o main main.cpp first_header_part.cpp first_footer_part.cpp first_factory.cpp second_header_part.cpp second_footer_part.cpp second_factory.cpp 
$ ./main 
-----first header-----
-----first footer-----
-----second header-----
-----second footer-----
$

専用のヘッダとフッタが表示された。

Sample/designpattern/abstract_factory/abstract_factory/src/abstract_factory at master · bg1bgst333/Sample · GitHub