[+]文章目录

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。

用原型实例指定创建对象的种类.并且通过拷贝这个原型来创建新的对象

代码如下:

<?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/>";

« 前一篇