PHP原型模式,,理解:创建并初始化对象,再复制一个对象避免重复初始化

原型模式就是clone就是内存拷贝,比new的好处是创建对象快速,适合大对象创建

1.原型模式与工厂模式作用类似,都是用来创建对象

2.与工厂模式的实现不同,原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象,这样就免去了类创建时重复的初始化操作

3.原型模式适用于大对象的创建,创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可

/**
 * PHP原型模式
 * 先创建一个原型对象,然后通过clone原型对象来创建新的对象
 * 这样可以避免类创建时重复的初始化操作。
 * Class Prototype
 */
class Prototype
{
    public function init()
    {
        //.....这里初始化工作 有200次循环复杂操作
    }

    public function run()
    {
        //执行操作
    }
}

//创建原型对象并初始化
$prototype = new Prototype();
$prototype->init();

//clone 原型对象
$obj1 = clone $prototype;
$obj1->run();
//clone 原型对象
$obj2 = clone $prototype;
$obj2->run();

原文地址:https://www.cnblogs.com/onephp/p/6108690.html