码迷,mamicode.com
首页 > 其他好文 > 详细

原型模式

时间:2015-01-21 19:36:33      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

原型模式类结构图:

技术分享

php实现:

<?php
interface Prototype {
    public function copy();
}

/** 
 * 具体原型角色 
 */
class ConcretePrototype implements Prototype{

    private  $_name;

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

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

    public function getName() {
        return $this->_name;
    }

    public function copy() {
       /** 深拷贝 */
       return  clone  $this;
       /** 浅拷贝 */
       //return  $this;     
    }
}


class Client {
    public static function run() {
        $object1 = new ConcretePrototype(11);
        $object_copy = $object1->copy();

        var_dump($object1->getName());
        var_dump($object_copy->getName());

        $object1->setName(22);
        var_dump($object1->getName());
        var_dump($object_copy->getName());
    }
}

Client::run();
?>

  

 

原型模式

标签:

原文地址:http://www.cnblogs.com/zhutianpeng/p/4238650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!