最近在看工廠模式和抽象工廠模式,把深入php那本書的這一塊看了兩遍,可還是迷迷糊糊的,於是去問了度娘,我覺得有篇博文裡這麼說的很有道理:
工廠方法
工廠方法是針對每一種產品提供乙個工廠類。通過不同的工廠例項來建立不同的產品例項。
在同一等級結構中,支援增加任意產品。
抽象工廠
抽象工廠是應對產品族概念的。比如說,每個汽車公司可能要同時生產轎車,貨車,客車,那麼每乙個工廠都要有建立轎車,貨車和客車的方法。
應對產品族概念而生,增加新的產品線很容易,但是無法增加新的產品。
具體見博文
簡而言之,工廠方法是生產同一等級的不同產品,而抽象工廠是生產不同的產品族,而往往抽象工廠中會用到工廠方法。
abstract
class
abstract
function
encode
();}
class
extends
function
encode()}
abstract
class
commsmanager
class
bloggscommsmanager
extends
commsmanager
function
() function
getfootertext
()}
PHP設計模式 工廠模式之抽象工廠模式
abstract class 2 建立ttd 抽象類 ttd 抽象類 class ttdencoder abstract class ttdencoder 3 建立contact 抽象類 contact 抽象類 class contactencoder abstract class contacte...
工廠模式之抽象工廠
工廠模式之抽象工廠 是一種建立型設計模式,它能建立一系列相關的物件,而無需指定其具體類。類繼承自抽象工廠,即可生產指定物件。新增實體的時候無需修改已有 比如食物這個工廠,在現實世界中,它可以生產麵包 雞蛋 肉等,在魔法世界中,食物工廠可以生產魔法豆 會唱歌的火雞 hp口服液等,我們把食物比作是最大的...
設計模式之工廠模式之抽象工廠(php實現)
抽象工廠模式 先來認識下什麼是產品族 位於不同產品等級結構中,功能相關聯的產品組成的家族。圖中的bmwcar和benzcar就是兩個產品樹 產品等級結構 而如圖所示的benzsportscar和bmwsportscar就是乙個產品族。他們都可以放到跑車家族中,因此功能有所關聯。同理bmwbussin...