首页 > 其他 > 详细

原型模式

时间:2015-01-21 19:35:04      阅读:270      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!