php抽象工廠模式簡單介紹
1.工廠模式就相當於是乙個超級工廠
2.抽象工廠模式,每個工廠只負責建立乙個物件不需要我們指定相關的類
3.物件導向的開閉原則,可以增加類但是盡量不要去修改類
我們下面看下上一節簡單工廠模式的**
inte***ce shape
//實現產品的具體類
class rectangle implements shape
}class sqare implements shape
}class circle implements shape
}//建立乙個工廠生成給定資訊的實體物件
class shapefactory
if(trim($shape_type)=='circle')
if(trim($shape_type)=='sqare')
if(trim($shape_type)=='rectangle')
return null; }}
//建立乙個客戶端呼叫工廠的方法
class client
}$client = new client();
我們呼叫工廠的getshape()方法傳遞不同的形參來獲取不同產品的物件假如我又新增了乙個產品
是不是又的在getshape()方法裡面增加判斷
class rectangle1 implements shape
}class shapefactory
if(trim($shape_type)=='circle')
if(trim($shape_type)=='sqare')
if(trim($shape_type)=='rectangle')
if(trim($shape_type==「rectangle1''))
return null;
}}
這樣我們直接把工廠抽離出來每個工廠只負責生產乙個單一的產品
inte***ce shapefactory
//負責生產產品1
shapefactory1 implements shapefactory
}//負責生產產品2
shapefactory2 implements shapefactory
}
PHP設計模式 抽象工廠
宣告 本系列部落格參考資料 大話設計模式 作者程杰。前面我們介紹了簡單工廠和工廠方法設計模式,今天我們學習最後乙個工廠 抽象工廠。案例 追mm少不了請吃飯了,去麥當勞,只管向服務員說 兩個b 就行了。麥當勞就是b 的abstractfactory,b 裡含有漢堡,雞翅和飲料.麥當勞或肯德基會根據b ...
PHP設計模式 抽象工廠
在學習過工廠方法之後,我所了解的工廠方法基本是去建立乙個物件,例如在玩遊戲的時候,建立了乙個關羽英雄,乙個張飛英雄這樣。但是有時候程式設計時可能需要建立一組物件,這就出現了第二種建立型設計模式 抽象工廠方法 abstractfactory 比方說,我在建立關羽的時候手上拿著青龍偃月刀,騎著赤兔馬。建...
PHP 設計模式 抽象工廠
抽象工廠模式 abstract factory pattern 是圍繞乙個超級工廠建立其他工廠。該超級工廠又稱為其他工廠的工廠。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指定它們的類。每個生成的工廠都能按照工廠模式...