久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

常用設(shè)計(jì)模式之抽象工廠模式及其PHP實(shí)現(xiàn)

瀏覽:52日期:2022-09-13 09:28:33

抽象工廠模式是一種創(chuàng)建型模式,它提供了一種方式,可以將一組具有同一主題的單獨(dú)的工廠封裝起來。它的實(shí)質(zhì)是“提供接口,創(chuàng)建一系列相關(guān)或獨(dú)立的對(duì)象,而不指定這些對(duì)象的具體類”。

抽象工廠模式提供一個(gè)創(chuàng)建一系統(tǒng)相關(guān)或相互依賴對(duì)象的接口,而無需指定它們具體的類。

抽象工廠模式中主要角色抽象工廠(Abstract Factory)角色:它聲明創(chuàng)建抽象產(chǎn)品對(duì)象的接口具體工廠(Concrete Factory)角色:實(shí)現(xiàn)創(chuàng)建產(chǎn)品對(duì)象的操作抽象產(chǎn)品(Abstract Product)角色:聲明一類產(chǎn)品的接口具體產(chǎn)品(Concrete Product)角色:實(shí)現(xiàn)抽象產(chǎn)品角色所定義的接口

這個(gè)和工廠方法模式類似,我們不再只要一個(gè)漢堡,可能是4個(gè)漢堡2個(gè)雞翅,我們還是對(duì)服務(wù)員說,服務(wù)員屬于具體工廠,抽象產(chǎn)品就是麥當(dāng)勞可賣的食物,具體產(chǎn)品是我們跟服務(wù)員要的食物。

適用性一個(gè)系統(tǒng)要獨(dú)立于它的產(chǎn)品的創(chuàng)建、組合和表示時(shí)。一個(gè)系統(tǒng)要由多個(gè)產(chǎn)品系列中的一個(gè)來配置時(shí)。需要強(qiáng)調(diào)一系列相關(guān)的產(chǎn)品對(duì)象的設(shè)計(jì)以便進(jìn)行聯(lián)合使用時(shí)。提供一個(gè)產(chǎn)品類庫,而只想顯示它們的接口而不是實(shí)現(xiàn)時(shí)。類圖

常用設(shè)計(jì)模式之抽象工廠模式及其PHP實(shí)現(xiàn)

實(shí)例

<?phpclass Button{}class Border{}class MacButton extends Button{}class WinButton extends Button{}class MacBorder extends Border{}class WinBorder extends Border{}interface AbstractFactory { public function CreateButton(); public function CreateBorder();}class MacFactory implements AbstractFactory{ public function CreateButton(){ return new MacButton(); } public function CreateBorder(){ return new MacBorder(); }}class WinFactory implements AbstractFactory{ public function CreateButton(){ return new WinButton(); } public function CreateBorder(){ return new WinBorder(); }}?>

在這里例子中,工廠類實(shí)現(xiàn)了一組工廠方法。如果要增加新的功能,可以增加新的接口,讓新的工廠類實(shí)現(xiàn)這個(gè)接口即可,而無需修改現(xiàn)有的工廠類。

優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

分離了具體的類使增加或替換產(chǎn)品族變得容易有利于產(chǎn)品的一致性

缺點(diǎn)

難以支持新種類的產(chǎn)品。這是因?yàn)锳bstractFactory接口確定了可以被創(chuàng)建的產(chǎn)品集合。支持新各類的產(chǎn)品就需要擴(kuò)展訪工廠接口,從而導(dǎo)致AbstractFactory類及其所有子類的改變。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 成人免费视频观看 | 黄色大片在线播放 | 亚洲精品乱码久久久久久蜜桃91 | 久久这里只有精品首页 | 高清国产一区二区三区四区五区 | 日本午夜精品 | 激情五月综合 | 黄色小视频在线免费观看 | 四虎视频 | 北条麻妃99精品青青久久 | 亚洲一区视频在线播放 | 在线视频二区 | 日本三级视频 | 久久精精品 | 91.成人天堂一区 | 国产在线小视频 | 久久精品小视频 | 国产探花 | 可以免费在线观看av的网站 | 免费视频爱爱太爽了 | 国产偷自视频区视频 | 91精品久久久久 | 国产高清免费 | 久草视频免费在线播放 | 午夜视频福利在线观看 | 久久毛片 | 国产精品123 | 日韩精品在线一区 | 久久第一区 | 国产探花在线精品一区二区 | 亚洲一区 中文字幕 | 伊人yinren22综合开心 | www.fefe66.com | www.黄网| 中字幕视频在线永久在线观看免费 | 成人在线视频网站 | 可以在线看的黄色网址 | 欧洲国产伦久久久久久久 | 麻豆自拍偷拍 | 九九爱爱视频 | 午夜噜噜噜 |