AbstractFactoryパターンはGoFのデザインパターンの生成に関するパターンに分類されるパターン。
Abstract Factoryパターンとは
Abstract Factoryパターンは主に何かを生成するプログラムで使われるデザインパターンです。
このデザインパターンでは生成処理に関するインターフェイスのみを定義し、具体的な処理内容はサブクラスに任せています。
実際に使われているAbstract Factoryパターン
実際にGoogleCloudAPIにあるJsonの生成系を紹介します。(本来であれば解説まで出来るといいんでしょうけど、私には分からなかった)
Jsonの生成系には色々なライブラリがあります。有名なのがGsonとJacksonです。
Gsonのソースコードを実際に見てみると、より理解が捗ると思います。
Abstract Factoryを使う魅力とは
Abstract Factoryは生成系のインターフェイスを提供することにより、具体的な生成系(Concrete Factory)の生成処理をカプセル化することが出来ます。
これによりクライアントはインターフェイスの使い方を知るだけで、同じインターフェイスを持つFactoryを使う事ができます。
これらの特徴から、再利用性の高い生成系を実装することが出来ます。
また大規模なプロジェクトであればあるほど効果を発揮できるデザインパターンと言えます。(例えばGoogle Cloud API群ではjsonの生成系はJsonFactoryというAbstract Factoryを実装したFactoryで実装されています。)
コメント