設計模式 靜態工廠模式

2021-09-24 07:02:19 字數 1131 閱讀 1716

追mm少不了請吃飯了,麥當勞的雞翅和肯德基的雞翅都是mm愛吃的東西,雖然口味有所不同,但不管你帶mm去麥當勞或肯德基,只管向服務員說「來四個雞翅」就行了。麥當勞和肯德基就是生產雞翅的factory 工廠模式:客戶類和工廠類分開。消費者任何時候需要某種產品,只需向工廠請求即可。消費者無須修改就可以接納新產品。缺點是當產品修改時,工廠類也要做相應的修改。如:如何建立及如何向客戶端提供。

工廠模式是我們最常見的例項化物件的模式了,它可以使開發者在例項化物件的時候省去**new()**這一步,需要什麼類的例項就可以去建立乙個。工廠模式屬於建立型模式之一。

我想吃乙個水果,直接去工廠裡去拿即可,二不用管這個水果是從**種的,以及是如何澆水施肥的,只需要告訴工廠你是想吃蘋果還是梨子即可。

建立乙個水果的抽象類:

public abstract class fruit 

複製**

建立繼承抽象類的實體類:

蘋果類:

@override

public void eat

() }

複製**

香蕉類:

public class banana extends fruit 

}複製**

梨子類:

public class pear extends fruit 

}複製**

建立乙個工廠,使其可以根據傳遞過來的引數來例項化相應的物件。

public class fruitfactory 

return mfruit; }}

複製**

使用者使用該工廠:

public class eatfruit 

}複製**

所需要建立的類的數量不是很多的場景下,可以考慮使用靜態工廠模式。

優點靜態工廠可以根據使用者傳入的引數來動態地例項化物件,避免一次性例項化所有物件所帶來的效能浪費,同時也降低了耦合性。

缺點每多增加乙個產品類,都需要增加乙個額外的具體產品類和該類的實現工廠,這很明顯地違背了開閉原則,增加了系統的複雜度。此外,這種「牽一髮而動全身」的寫法,很容易使系統出錯。

設計模式(一) 靜態工廠模式

什麼是靜態工廠呢?靜態工廠又名簡單工廠。所謂靜態工廠是一種生產物件的建立型模式。其特點是關注過程,通過封裝具體的物件生產細節,對呼叫方提供統一的介面。因此,對於具體細節的修改,不會影響到呼叫方,體現了松耦合的設計思想。廢話不多說 show me code 先建立乙個手機的介面 iphone pack...

php設計模式 簡單工廠(靜態工廠)模式

class factory 簡單工廠類 靜態工廠方法類 屬於 建立型模式 在簡單工廠模式中,可以根據引數的不同返回不同類的例項.簡單工廠模式專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類 class factory return new type 操作類 abstract c...

《設計模式》學習筆記 靜態工廠模式

靜態工廠模式 staticfactorymethod 又叫做簡單工廠模式,屬於建立型模式但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是普通工廠模式的乙個特殊實現。以下 以靜態水果工廠為例進行舉例說...