1.定義:負責生產物件
2.自己做飯,如果我們想吃別的菜時,此時就需要去買這種菜和洗菜這些繁瑣的操作,有了餐館(也就是簡單工廠)之後,我們就可以把這些操作交給餐館去做,此時消費者(也就是我們)對菜(也就是具體物件)的依賴關係從直接變成的間接的,這樣就是實現了物件導向的另乙個原則——降低物件之間的耦合度,下面就具體看看有了餐館之後的實現**(即簡單工廠的實現):
///view code///顧客充當客戶端,負責呼叫簡單工廠來生產物件
///即客戶點菜,廚師(相當於簡單工廠)負責燒菜(生產的物件)
/// class
customer
}//////
菜抽象類
/// public
abstract
class
food
//////
西紅柿炒雞蛋這道菜
/// public
class
tomatoscrambledeggs : food
}//////
土豆肉絲這道菜
/// public
class
shreddedporkwithpotatoes : food
}//////
簡單工廠類, 負責 炒菜
/// public
class
food******factory
else
if (type.equals("
西紅柿炒蛋"))
return
food;}}
3.優點與缺點
4.簡單工廠模式uml圖
簡單工廠模式又叫靜態方法模式(因為工廠類都定義了乙個靜態方法),由乙個工廠類根據傳入的引數決定建立出哪一種產品類的例項(通俗點表達:通過客戶下的訂單來負責燒那種菜)。簡單工廠模式的uml圖如下:
工廠模式 簡單工廠
簡單工廠其實並不是乙個設計模式,反而比較像一種程式設計習慣。我個人的這樣總結簡單工廠 建立乙個類,封裝建立物件的 故事 現在我要開一家披薩店,叫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...