原型設計模式: 用原型實例指定建立對象的種類,而且經過拷貝這些原型建立新的對象。php
原型設計模式簡單的來講,就是不去建立新的對象進而保留原型的一種設計模式。設計模式
interface Prototype { public function copy(); }
class PrototypeDemo implements Prototype { private $_name; public function __construct($name) { // 這裏多是複雜的邏輯 $this->_name = $name; } public function getMul() { return $this->_name * $this->_name; } public function copy() { // 克隆後的邏輯 $this->_name ++; return clone $this; } }
class Client { public function main() { $pro1 = new PrototypeDemo('10'); echo $pro1->getMul(); echo "<br>"; $pro2 = $pro1->copy(); echo $pro2->getMul(); } }
$obj = new Client(); $obj->main();
輸出結果:this
100 121