php设计模式——原型模式
原型模式
- 概念理解:原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。适用于大对象的创建,因为创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可。
好处
- 原型模式适用于大对象的创建,创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可
代码
/** * PHP原型模式 * 先创建一个原型对象,然后通过clone原型对象来创建新的对象 * 这样可以避免类创建时重复的初始化操作。 * Class Prototype */ class Prototype { public function init() { //.....这里初始化工作 有200次循环复杂操作 } public function run() { //执行操作 } /** * 浅拷贝 * */ public function shallowCopy() { return clone $this; } /** * 深拷贝 * */ public function deepCopy() { $serialize_obj = serialize($this); return unserialize($serialize_obj); } } //创建原型对象并初始化 $prototype = new Prototype(); $prototype->init(); //clone 原型对象 $obj1 = clone $prototype; $obj1->run(); //clone 原型对象 $obj2 = clone $prototype; $obj2->run();
文章目录