原型模式其实和工厂模式比较类似,都是用来创建对象的,只不过与工厂模式的实现不同。原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。这样就免去了类创建时重复的初始化操作了。原型模式适用于大对象的创建,因为在创建一个大对象时,需要很大的开销。如果每次都去new就会消耗很大,原型模式仅需从内存拷贝既可。
还是继续通过实例来向大家演示一下
data = $data;
}
public function get_data() {
return $this->data;
}
public function clone_obj() {
/*
* 深拷贝实现
*/
/*$serialize_obj = serialize($this); // 序列化
$clone_obj = unserialize($serialize_obj); // 反序列化
return $clone_obj;*/
return clone $this; // 浅拷贝
}
}
/**
* 测试深拷贝用的引用类
*/
class Demo {
public $arr;
}
$demo = new Demo();
$demo->arr = array(1, 2);
$concrete = new Concrete($demo);
$object1 = $concrete->clone_obj();
var_dump($concrete->get_data());
echo '
';
var_dump($object1->get_data());
echo '
';
//测试深拷贝
$demo->arr = array(3, 4);
var_dump($concrete->get_data());
echo '
';
var_dump($object1->get_data());
echo '
';
?>更多的详细说明和实例
g沙盒仇恨官方英文版(gorebox)
G沙盒仇恨英文原版是一款最近非常火热的沙盒模拟类游戏,在这里
迷你世界测试服最新版2024
迷你世界测试服2021最新版,即迷你世界的先遣服版本,用户能
闪耀暖暖最新版2024
闪耀暖暖手游这是非常好玩的换装手游,游戏内容丰富有趣,游戏环
杜拉拉升职记官方正版
杜拉拉升职记手游完美还原了经典同名电视剧中的故事剧情、以及各
银河战舰手机版
银河战舰满你所想宇宙战舰世界,茫茫宇宙资源是一切,你必须利用