摘要:繼續(xù)分享設(shè)計(jì)模式的公開(kāi)課,這是第四篇?jiǎng)?chuàng)建型模式之原型模式設(shè)計(jì)模式的一般介紹在第一篇文章講了,不了解的可以先看看。設(shè)計(jì)模式的第一部分,創(chuàng)建型模式就總結(jié)完了。下面還有兩部分結(jié)構(gòu)型設(shè)計(jì)模式和行為型設(shè)計(jì)模式稍后繼續(xù)。
繼續(xù)分享設(shè)計(jì)模式的公開(kāi)課,這是第四篇?jiǎng)?chuàng)建型模式之原型模式
設(shè)計(jì)模式的一般介紹在第一篇文章講了,不了解的可以先看看。
原型模式:
用原型實(shí)例指定創(chuàng)建對(duì)象的種類(lèi),并且通過(guò)拷貝這個(gè)原型來(lái)創(chuàng)建新的對(duì)象。
應(yīng)用場(chǎng)景: 類(lèi)的資源非常多、性能和安全要求,一般和工廠方法結(jié)合使用。
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é)", "計(jì)算機(jī)", "張三"); $stu1->printInfo(); $stu2 = $stu1->copy(); $stu2->name = "李四"; $stu2->printInfo(); ?>
這里可以看到,如果類(lèi)的成員變量非常多,如果由外部創(chuàng)建多個(gè)新對(duì)象再一個(gè)個(gè)賦值,則效率不高代碼冗余也容易出錯(cuò),通過(guò)原型拷貝復(fù)制自身再進(jìn)行微小修改就是另一個(gè)新對(duì)象了。
設(shè)計(jì)模式的第一部分,創(chuàng)建型模式就總結(jié)完了。下面還有兩部分結(jié)構(gòu)型設(shè)計(jì)模式和行為型設(shè)計(jì)模式稍后繼續(xù)。
想了解更多,來(lái)聽(tīng)公開(kāi)課吧:http://www.ucai.cn/train?f=17
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/20768.html
摘要:最近開(kāi)展了三次設(shè)計(jì)模式的公開(kāi)課,現(xiàn)在來(lái)總結(jié)一下設(shè)計(jì)模式在中的應(yīng)用,這是第一篇?jiǎng)?chuàng)建型模式之單例模式。不過(guò)因?yàn)椴恢С侄嗑€程所以不需要考慮這個(gè)問(wèn)題了。 最近開(kāi)展了三次設(shè)計(jì)模式的公開(kāi)課,現(xiàn)在來(lái)總結(jié)一下設(shè)計(jì)模式在PHP中的應(yīng)用,這是第一篇?jiǎng)?chuàng)建型模式之單例模式。 一、設(shè)計(jì)模式簡(jiǎn)介 首先我們來(lái)認(rèn)識(shí)一下什么是設(shè)計(jì)模式: 設(shè)計(jì)模式是一套被反復(fù)使用、容易被他人理解的、可靠的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。 設(shè)計(jì)模式不...
摘要:但本質(zhì)是,簡(jiǎn)單工廠并未嚴(yán)格遵循設(shè)計(jì)模式的開(kāi)閉原則,當(dāng)需要增加新產(chǎn)品時(shí)也需要修改工廠代碼。但是工廠方法則嚴(yán)格遵守開(kāi)閉原則,模式只負(fù)責(zé)抽象工廠接口,具體工廠交給客戶去擴(kuò)展。 最近開(kāi)展了三次設(shè)計(jì)模式的公開(kāi)課,現(xiàn)在來(lái)總結(jié)一下設(shè)計(jì)模式在PHP中的應(yīng)用,這是第二篇?jiǎng)?chuàng)建型模式之工廠模式。 設(shè)計(jì)模式的一般介紹在第一篇文章講了,這里就不重復(fù)。 工廠模式 實(shí)現(xiàn):定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類(lèi)決定實(shí)...
摘要:繼續(xù)分享設(shè)計(jì)模式的公開(kāi)課,這是第三篇?jiǎng)?chuàng)建型模式之創(chuàng)建者模式設(shè)計(jì)模式的一般介紹在第一篇文章講了,不了解的可以先看看。 繼續(xù)分享設(shè)計(jì)模式的公開(kāi)課,這是第三篇?jiǎng)?chuàng)建型模式之創(chuàng)建者模式 設(shè)計(jì)模式的一般介紹在第一篇文章講了,不了解的可以先看看。 創(chuàng)建者模式: 在創(chuàng)建者模式中,客戶端不再負(fù)責(zé)對(duì)象的創(chuàng)建與組裝,而是把這個(gè)對(duì)象創(chuàng)建的責(zé)任交給其具體的創(chuàng)建者類(lèi),把組裝的責(zé)任交給組裝類(lèi),客戶端支付對(duì)對(duì)象的...
摘要:我們分三篇文章來(lái)總結(jié)一下設(shè)計(jì)模式在中的應(yīng)用,這是第一篇?jiǎng)?chuàng)建型模式。二提煉設(shè)計(jì)模式的幾個(gè)原則開(kāi)閉原則模塊應(yīng)對(duì)擴(kuò)展開(kāi)放,而對(duì)修改關(guān)閉。工廠模式實(shí)現(xiàn)定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類(lèi)決定實(shí)例化哪一個(gè)類(lèi)。設(shè)計(jì)模式的第一部分,創(chuàng)建型模式就總結(jié)完了。 我們分三篇文章來(lái)總結(jié)一下設(shè)計(jì)模式在PHP中的應(yīng)用,這是第一篇?jiǎng)?chuàng)建型模式。一、設(shè)計(jì)模式簡(jiǎn)介 首先我們來(lái)認(rèn)識(shí)一下什么是設(shè)計(jì)模式: 設(shè)計(jì)模式是一套被反復(fù)使...
摘要:能夠協(xié)調(diào)調(diào)用者和被調(diào)用者,能夠在一定程度上降低系統(tǒng)的耦合性。特點(diǎn)低耦合性,獨(dú)立性好,安全性應(yīng)用客戶訪問(wèn)不到或者被訪問(wèn)者希望隱藏自己,所以通過(guò)代理來(lái)訪問(wèn)自己。 我們接著上面的幾種模式繼續(xù)講: 4、組合模式 將對(duì)象組合成樹(shù)形結(jié)構(gòu)表示部分-整體的層次結(jié)構(gòu)。 特點(diǎn):靈活性強(qiáng) 應(yīng)用:對(duì)象的部分-整體的層次結(jié)構(gòu),模糊組合對(duì)象和簡(jiǎn)單對(duì)象處理問(wèn)題 代碼實(shí)現(xiàn) /** 組合模式* *///繼承模式clas...
閱讀 2573·2021-11-15 11:38
閱讀 2016·2021-11-05 09:37
閱讀 2427·2021-10-08 10:12
閱讀 2869·2019-08-30 15:55
閱讀 2198·2019-08-30 15:52
閱讀 1289·2019-08-29 13:24
閱讀 509·2019-08-26 18:27
閱讀 1534·2019-08-26 18:27