Prototype パターン
生成に関するパターン(英語版)同士には重なる部分があることもある――PrototypeパターンとAbstract Factory パターンのどちらも適切となるような場合もある。また両者が相補的な関係となる場合もある。Abstract Factoryは複製元となる一群のプロトタイプを蓄えておき、生成したオブジェクトを返すようにできる。Abstract Factory、Builder、Prototypeの各パターンは実装の際にSingleton パターンを利用できる。Abstract Factoryのクラスはファクトリメソッド(継承を通す作成)を伴い実装される場合が多いが、プロトタイプ(委譲を通す作成)を用いるように実装することもできる。
デザインはしばしば、比較的に複雑でなく、カスタマイズしやすく、サブクラスを急速に増やすファクトリメソッドを用いるところから出発し、一層の柔軟性が必要となる箇所が発見されるに伴いより柔軟だが複雑なAbstract Factory、Prototype、Builderへと発達してゆく。
プロトタイプはサブクラスの生成を必要としないが、「初期化」の操作を必要とする。