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
相關文章
相關標籤/搜索