《PHP實例:淺析php原型模式》要點:
本文介紹了PHP實例:淺析php原型模式,希望對您有用。如果有疑問,可以聯(lián)系我們。
原型模式:PHP實戰(zhàn)
用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這個原型來創(chuàng)建新的對象.
應(yīng)用場景: 類的資源非常多、性能和平安要求,一般和工廠方法結(jié)合使用.PHP實戰(zhàn)
代碼如下:
<?php
/**
?* 原型模式
?*/
//聲明一個克隆自身的接口
interface Prototype {
??? function copy();
}??
//產(chǎn)品要實現(xiàn)克隆自身的操作
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('清華大學(xué)', '計算機', '張三');
$stu1->printInfo();
$stu2 = $stu1->copy();
$stu2->name = '李四';
$stu2->printInfo();
?>
這里可以看到,如果類的成員變量非常多,如果由外部創(chuàng)建多個新對象再一個個賦值,則效率不高代碼冗余也容易出錯,通過原型拷貝復(fù)制自身再進行微小修改便是另一個新對象了.
PHP實戰(zhàn)
設(shè)計模式的第一部分,創(chuàng)建型模式就總結(jié)完了.下面還有兩部分布局型設(shè)計模式和行為型設(shè)計模式稍后繼續(xù).PHP實戰(zhàn)
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP實例:淺析php原型模式》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/13805.html