时间:2021-05-18
原型模式:
用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。
应用场景: 类的资源非常多、性能和安全要求,一般和工厂方法结合使用。
复制代码 代码如下:
<?php
/**
* 原型模式
*/
//声明一个克隆自身的接口
interface Prototype {
function copy();
}
//产品要实现克隆自身的操作
class Student implements Prototype {
//简单起见,这里没有使用get set
public $school;
public $major;
public $name;
public function __construct($school, $major, $name) {
$this->school = $school;
$this->major = $major;
$this->name = $name;
}
public function printInfo() {
printf("%s,%s,%sn", $this->school, $this->major, $this->name);
}
public function copy() {
return clone $this;
}
}
$stu1 = new Student('清华大学', '计算机', '张三');
$stu1->printInfo();
$stu2 = $stu1->copy();
$stu2->name = '李四';
$stu2->printInfo();
?>
这里可以看到,如果类的成员变量非常多,如果由外部创建多个新对象再一个个赋值,则效率不高代码冗余也容易出错,通过原型拷贝复制自身再进行微小修改就是另一个新对象了。
设计模式的第一部分,创建型模式就总结完了。下面还有两部分结构型设计模式和行为型设计模式稍后继续。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
原型模式的定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式结构图:创建型模式中一个比较特殊的模式-原型模式,有个最大的特点是克隆一
JavaScript中创建对象的模式汇总**JavaScript创建对象模式:对象字面量工厂模式构造函数模式原型模式结合构造函数和原型模式原型动态模式**面向对
本文实例讲述了PHP设计模式之原型模式定义与用法。分享给大家供大家参考,具体如下:原型设计模式(PrototypeDesignPattern)很有意思,因为它使
介绍原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。正文对于原型模式,我们可以利用JavaScript特有的原
本文实例讲述了PHP设计模式:原型模式Prototype。分享给大家供大家参考,具体如下:1.概述我们都知道,创建型模式一般是用来创建一个新的对象,然后我们使用