デザインパターン

原型構造(プロトタイプパターン)。JavaScript を思ひ浮かべて欲しい(多少違ふけれど、あれは原型にメソッドを流し込む感覺だ)。あれはこのパターンで實裝されてゐる。原型といへば、フィギュアでもさうだが、日本が誇る金型はこれを使用して工業製品を量産することができる優れ物である。原型構造とも譯せる Prototype Pattern もこの例に漏れず、インスタンスのコピーを容易な物とする。

<?php
class Prototype{
 function copy(){
  # インスタンス變數にコピー指令をだすことがあります。
  return clone($this);
  }
 }
## 原型創成
$obj = new Prototype;
## 複雜で表現できない初期化行程
$obj->detteihu();
## 複製
$obj2 = $obj->copy(); # (゚д゚)ウマー
$obj3 = $obj->copy(); # (゚д゚)ウマー
$obj4 = $obj->copy(); # (゚д゚)ウマー
$obj5 = $obj->copy(); # (゚д゚)ウマー
?>

原型構造の基本は原型が存在する事。モッコスにならぬ爲にも原型師の腕てのがあるだらう。あんなもの複製してどうする的なことになる位ならするな。これは複製したいと埀涎せしめれば、この構造を利用するんだ。

ここでは $obj が原型である。ある種のデータを保持した原型を必要とするから、複製方法を擴張できるメソッドを作る。クローンは低級なことが多いから、何をどれだけうつすかを自分で決めるのだ。コピーは淺い方をオススメするけどナ。

DOM はこれで大概實裝されてるやうに感ずるのは何故だらう。參照先は同じだけど的な。

Ruby は初期化した時に特異メソッドを用意するつぽい。あるクラスがあれば、それを定數として作り、それにメソッドをくつ付け要は全てがインスタンス、みたいな。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS