Factory Method パターン
factory methodは普通template method (Template Method パターンを参照)であるanOperationから呼ばれる。ただし、factory methodをpublicにして他のクラスからも呼ぶ場合もある。
Abstract Factory パターンのAbstractFactoryクラスはfactory methodを持ち、それを個々のサブクラスが上書きして生成するProductを変える手法が一般的である。しかし、Prototype パターンを使い、prototypeとなるオブジェクトの変更により生成するProductを変える手法もある。