buto > /dev/null

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

デザインパターン入門 Prototype

Prototype

インスタンスの生成をnew Class()でなく、インスタンスから別のインスタンスを生成する 雛形を作っておき、それをコピーして使う 例が思い浮かばなかったのでTECHSCOREの記事を使います

図形描画で「直線を描画するクラス」と直線を組み合わせて「図形を描画するクラス」がある 図形描画クラスで定義した三角、星などの図形を描画する処理を 雛形管理クラスでmap.put("star",星型の描画処理)のようにインスタンスを保存する → 星型をたくさん描画したい時はmap("star")だけでOK

f:id:butorisa:20201020170930j:plain

図形ごとにクラスを作成するとクラス数が多すぎて保守性が下がるのでPrototypeパターンを使う

業務で「クラス名が違うだけでプロパティは同じ」複数のクラスを作ってしまったことがある… 次からはPrototypeパターンが使えないか検討しよう