cxymds 2019-06-28
原型设计模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
原型设计模式简单的来说,就是不去创建新的对象进而保留原型的一种设计模式。
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();
输出结果:
100 121