PHP设计模式(六)原型模式(Prototype For PHP)

原型设计模式: 用原型实例指定建立对象的种类,而且经过拷贝这些原型建立新的对象。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
相关文章
相关标签/搜索