AbstractFactory

今回はAbstractFacory、抽象工場の復習です。



抽象工場
このパターンは、BuilderパターンとFactoryMethodパターンの合成です。
特定の構造を持ったモノを生成するBuilderパターンに対して、
その生成過程を抽象化するFactoryMethodを適用することで複数の種類の生成をひとつの工場で担うことができます。


このパターンの強みは、抽象的なFactoryの使い方さえ知っていれば、個々の具象Factoryがそのまま使えるという点にあるでしょう。
このパターンの弱みはまさに強みの裏返しで、新たに機能を付け加えるとき、全ての具象工場に対しての変更を強いられるという点にあります。
つまり、設計でミスをすると大きな手戻りが発生しうるという事です。
このパターンを使用するときは慎重にならなくてはいけないようです。



デザインパターンの関連性
このパターンでは、複数のデザインパターンを組み合わせるという事を学びました。
もともとGofの提唱したデザインパターンは各パターンが完全に独立しているわけではなく、一部のパターンは相互に結びついているものを多いのでしょう。
各パターンの関連性からデザインパターンを学ぶことで新たな知見が得られるかもしれません。
今やっているデザインパターンの復習が終わったらそのうちやってみたいと思います。