Factory Method パターン
例として、Java でリストの要素をさまざまな順で表示するプログラムを考える。このソースコードは J2SE 1.5 以降のバージョンで動作する。
このプログラムは、以下の結果を出力する。
前半ではリストを五十音順で表示し、後半ではリストを文字列の長さ順に表示している。 リストを並び変えて表示するListPrinter#printListメソッドでは、並び変えに使うComparatorを生成する際にnew演算子を使って直接生成するのではなく、抽象メソッドcreateComparatorを使ってサブクラスに生成を委ねる。