新聞中心
這篇文章主要介紹了PHP原型模式是什么及怎么應(yīng)用的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇PHP原型模式是什么及怎么應(yīng)用文章都會有所收獲,下面我們一起來看看吧。
十載的觀山湖網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整觀山湖建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“觀山湖網(wǎng)站設(shè)計(jì)”,“觀山湖網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
原型模式,屬于創(chuàng)建型模式的一種。 主要針對對象進(jìn)行克隆,把被克隆的對象稱之為原型,原型模式稱之為克隆模式也許更為貼切。 用原型實(shí)例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象。
適用場景:
實(shí)例化對象的資源開銷過大時(shí)可直接克隆。
需要循環(huán)創(chuàng)建大量對象,此時(shí)用克隆也是一個(gè)挺不錯(cuò)的選擇。
優(yōu)點(diǎn):
高性能:如果創(chuàng)建對象的過程復(fù)雜,或者消耗大量資源,那么直接克隆就可以高性能的簡化這一流程。
實(shí)現(xiàn)簡單,某些場景下,相比于實(shí)例化對象的各種前置操作,而克隆一個(gè)關(guān)鍵字就能搞定。
缺點(diǎn):
克隆出來的對象與原型對象不是一個(gè),可能在某些業(yè)務(wù)場景上,可能會受影響
代碼:
//抽象出來一個(gè)操作系統(tǒng)的類
abstract class OS {
public $os;
//setOS可以理解為安裝操作系統(tǒng)
public function installOS($os) {
$this->os = $os;
}
//runOS可以理解為運(yùn)行操作系統(tǒng)
public function runOS() {
return $this->os . PHP_EOL;
}
//__clone方法是原型模式中需要有的,盡管可能用不上
abstract function __clone();
}
class Windows extends OS{
public function __clone() {}
}
class Linux extends OS{
public function __clone() {}
}
//調(diào)用端============================================
//偉大的工程師們開發(fā)好了兩套操作系統(tǒng)
$windows = new Windows();
$linux = new Linux();
//把它們克隆到光盤上,分別給3個(gè)用戶安裝。這樣就不用在從零開發(fā)操作系統(tǒng)了,直接復(fù)制開銷極小,然后把它們運(yùn)行起來。
for($i = 0; $i < 3; $i ++) {
$new_windows = clone $windows;
$new_windows->installOS('windows');
echo $new_windows->runOS();
}
//把它們克隆到光盤上,分別給2個(gè)用戶安裝。這樣就不用在從零開發(fā)操作系統(tǒng)了,直接復(fù)制開銷極小,然后把它們運(yùn)行起來。
for($j = 0; $j < 2; $j ++) {
$new_linux = clone $linux;
$new_linux->installOS('linux');
echo $new_linux->runOS();
}
關(guān)于“PHP原型模式是什么及怎么應(yīng)用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“PHP原型模式是什么及怎么應(yīng)用”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站名稱:PHP原型模式是什么及怎么應(yīng)用
標(biāo)題路徑:http://www.ef60e0e.cn/article/isjjhd.html