cloneメソッドの作り方 プロトタイプからのコピーでオブジェクトを返す、初期化の手間が省けるから。
GoF本でのPrototypeの例は楽譜の音符(オタマジャクシ)
GoF本はGUIでの例が多い。GoF本のPrototypeは楽譜ソフトを例にしている。楽譜はたくさんの音符から構成されている、そのオタマジャクシの親玉をPrototypeとして設定する。プロトタイプには尻尾があって頭が黒い。それが、高さや長さが変わり尻尾が短くなったり頭が白くなったりする。四分音符は突然長さが変わったりしない。
Prototypeの何がいいのか? Abstract Factoryとの違い、生成するかしないか
一個目は統制が効く、ということで、二個目はオタマジャクシに生成コストをそれほどかけないということだ。
Newをなるべくつかわない事
オブジェクト生成の際に統制が効いていてコストが低ければprototypeが使えそうだ。当然ソースコード中の名前はcreateとか、cloneとなりNewを使わないコーティングになる。
もともとのnewの生成コストが気になるが…
Javaについて言うと、newの生成コストを気にする世の中ではないらしい。
こんなのもあるが…