PHP 設計模式之原型模式
“原型模式其實就是從一個對象再創建另外一個可定制的對象,而且不需知道任何創建的細節。”
我們來看看基本的原型模式代碼。
<?php /** * 原型模式 * * 用原型實例指定創建對象的種類.並且通過拷貝這個原型來創建新的對象 * */ abstract class Prototype { private$_id = null; public function __construct($id) { $this->_id = $id; } public function getID() { return $this->_id; } public function __clone() { // magic function $this->_id +=1; } public function getClone() { return clone $this; } } class ConcretePrototype extends Prototype { } $objPrototype = new ConcretePrototype(0); $objPrototype1 = clone $objPrototype; echo $objPrototype1->getID() . "<br/>"; $objPrototype2 = $objPrototype; echo $objPrototype2->getID() . "<br/>"; $objPrototype3 = $objPrototype->getClone(); echo $objPrototype3->getID() . "<br/>"; ?>*