PHP设计模式之原型模式

原型模式(Prototype Pattern)

  • 原型模式与工厂模式作用类似,都是用来创建对象
  • 与工厂模式实现不同,原型模式是先创建好一个原型对象,然后通过clone原型对象类创建新的对象。这样就免去类创建时的重复的初始化操作
  • 原型模式适合大对象的创建。创建一个大对象需要很大的开销,每次new就会消耗很大,原型模式仅需内存拷贝即可
<?php
class PrototypePattern
{
    public $name;

    public function init($name)
    {
        $this->name = $name;
    }

    public function copy()
    {
        return clone $this;
    }
}

$prototype1 = new PrototypePattern();
$prototype1->init("小明");
var_dump($prototype1);

$prototype2 = $prototype1->copy();
var_dump($prototype2);

结果


猜你喜欢

转载自blog.csdn.net/qq_36045946/article/details/81017724