簡單工廠模式

2021-09-12 19:42:26 字數 925 閱讀 4913

public abstract class inoodles
先來乙份蘭州拉麵(具體的產品類):

public class lznoodles extends inoodles 

}

程式設計師加班必備也要吃泡麵(具體的產品類):

public class paonoodles extends inoodles 

}

還有我最愛吃的家鄉的幹扣面(具體的產品類):

public class gankounoodles extends inoodles 

}

準備工作做完了,我們來到一家「簡單麵館」(簡單工廠類),選單如下:

public class ******noodlesfactory 

}}

簡單麵館就提供三種麵條(產品),你說你要啥,他就給你啥。這裡我點了乙份幹扣面:

/**

* 簡單工廠模式

*/ inoodles noodles = ******noodlesfactory.createnoodles(******noodlesfactory.type_gk);

noodles.desc();

輸出:

還是家裡的幹扣面好吃 6塊一碗
1 它是乙個具體的類,非介面 抽象類。有乙個重要的create()方法,利用if或者 switch建立產品並返回。

2 create()方法通常是靜態的,所以也稱之為靜態工廠。

1 擴充套件性差(我想增加一種麵條,除了新增乙個麵條產品類,還需要修改工廠類方法)

2 不同的產品需要不同額外引數的時候 不支援。

**    

工廠模式 簡單工廠

簡單工廠其實並不是乙個設計模式,反而比較像一種程式設計習慣。我個人的這樣總結簡單工廠 建立乙個類,封裝建立物件的 故事 現在我要開一家披薩店,叫bbk 必敗客 披薩,賣很多種披薩 芝士披薩 榴蓮披薩等等,我有乙個orderpizza string type 方法,根據客戶傳來的type來提供不同的披...

工廠模式 簡單工廠

工廠 處理建立物件的細節。目的 將例項化具體類的 從應用中抽離,或者封裝起來,可以避免干擾應用的其他部分。簡單工廠 簡單工廠其實不是乙個設計模式,反而像一種程式設計習慣。產品實現 desc 產品a public inte ce a class a1 implements a override pub...

簡單工廠模式,工廠模式,抽象工廠模式

三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...