Prototype
Prototypeとは、オブジェクト指向プログラミングにおいて使用される23種類の
デザインパターンの1つです。この
デザインパターンはオブジェクトの生成のためのパターンです。
このPrototypeを一言でまとめると、ある特定のオブジェクトの完全なコピーを作製するためのパターンです。同じオブジェクトを再度作成する、つまりクラスのインスタンスを作るだけではコピーとして成立しない場合等に用います。状態を持つインスタンスを複製する場合、インスタンスを生成した後、複製したいインスタンスと同じ状態にする処理が必要になります。それならば複製したいインスタンスに自身の状態ごとコピーするメソッドを持たせよう、という発想です。
特徴として、Prototypeパターンのクラスは、自身のクラスのインスタンスを生成し返すメソッドを持っています。
例としてしばしば用いられるのは図形を描くエディタソフトです。三角形や四角形、星型等の特定の図形などをコピーする際は元の図形を「プロトタイプ」として、それをコピーしたほうが簡単に処理を行うことができます。