Prototype パターン
Prototype パターン（、プロトタイプ・パターン）とは、ソフトウェア開発で用いられる、生成に関するデザインパターンの1つである。生成されるオブジェクトの種別がプロトタイプ（典型）的なインスタンスであるときに使用され、このプロトタイプを複製して新しいオブジェクトを生成する。

このパターンは
* Abstract Factory パターンでなされるように、クライアント・アプリケーションにおいてオブジェクトの生成者をサブクラスにすることを回避する
* 標準的な方法（例えば'new'）で新しいオブジェクトを作ることによる固有のコストが所与のアプリケーションにとって高すぎる時にそれを回避する
ために用いられる。

このパターンを実装するには、純粋仮想の "clone()"メソッドを指定する抽象的（abstract）な基底クラスを宣言する。「多態性を持つコンストラクタ」の能力を必要とする全てのクラスは抽象的な基底クラスから自身を派生させ、"clone()"の操作を実装する。

クライアントは、ハードコードされたクラス名において"new"演算子を呼び出すコードを書く代わりに、プロトタイプにおいて"clone()"メソッドを呼び出すか、所望の特定の具体的（concrete）な派生クラスを指し示すパラメタを渡してファクトリメソッドを呼び出すか、"clone()"メソッドを他のデザインパターンにより供給される何らかの機構を通じて呼び出すかする。
Q638608
ソフトウェア開発
Concept
Q181156
デザインパターン
Concept
Q216601
オブジェクト
Concept
Q207977
プロトタイプ
Concept
Q437448
インスタンス
UNK
Q333348
Abstract Factory パターン
UNK
Q212542
サブクラス
Concept
Q1954125
new
UNK
Q815844
純粋仮想
Concept
Q212542
基底クラス
Concept
Q3240252
多態性
Concept
Q1049476
コンストラクタ
Concept
Q2111125
ハードコード
Concept
Q212542
派生クラス
Concept
Q1413083
パラメタ
Concept
Q637921
ファクトリメソッド
Concept
Q928696
Prototype パターン
UNK
2020-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1
DATE
+1^^http://www.w3.org/2001/XMLSchema#decimal
1
NUMBER
facet of