php设计模式-原型模式(Prototype)

来源:互联网 发布:vue.js权威指南 微盘 编辑:程序博客网 时间:2024/06/14 11:56

转自:https://segmentfault.com/a/1190000003817321

有些时候,部分对象需要被初始化多次。而特别是在如果初始化需要耗费大量时间与资源的时候进行预初始化并且存储下这些对象。

<?phpinterface Product {}class Factory {    private $product;    public function __construct(Product $product) {        $this->product = $product;    }    public function getProduct() {        return clone $this->product;    }}class SomeProduct implements Product {    public $name;}$prototypeFactory = new Factory(new SomeProduct());$firstProduct = $prototypeFactory->getProduct();$firstProduct->name = 'The first product';$secondProduct = $prototypeFactory->getProduct();$secondProduct->name = 'Second product';print_r($firstProduct->name);// The first productprint_r($secondProduct->name);// Second product


原创粉丝点击