php之工廠模式和抽象工廠

2021-07-10 17:31:05 字數 760 閱讀 3997

最近在看工廠模式和抽象工廠模式,把深入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...