Prototype
目的
生成するオブジェクトの種類を原型となるインスタンスを使って明確にし、
それをコピーすることで新たなオブジェクトの生成を行う。
構造
注釈
- AbstractFactoryパターンやFactoryMethodパターンに比べると、Productのクラス階層を定義するだけでよく、Factory(Creator)のクラス階層は不要になる。
- C++のように、オブジェクトの型(クラス)を動的に取得する方法がない言語では、Prototypeパターンが特に有効である。動的に取得できる場合は、明示的にパターンを設計しなくても、言語機能によって同等のことができる。
- Prototypeパターンの問題点は、一般に、Clone()オペレーションの実装は困難な場合があるということである。メンバに参照(ポインタ)を含む場合、コピーメソッドを提供していない別のオブジェクトを含む場合、変更できない既存のクラスを生成する必要がある場合(すなわちPrototypeクラスを継承できない場合)、などである。
最終更新:2012年02月07日 12:03