java設(shè)計模式——工廠模式

本文的參考文章及書籍如下:

《head first設(shè)計模式》

本文主要介紹簡單工廠以及工廠模式抽象工廠將放在下一次發(fā)布的文章中第煮。

1.工廠模式概念

工廠顧名思義是用來生成產(chǎn)品、商品的撵摆,我們可以把工廠看成是一個創(chuàng)建對象的小型作坊害晦。用他來幫助我們

創(chuàng)建各種實例。

2.簡單工廠的實現(xiàn)

在以前沒有水果超市鲫剿,還是擺攤互相交易買賣的時候稻轨,當(dāng)你在攤子面前,你想買個芒果政冻,跟農(nóng)名白白詢問還有芒果么粱挡,

攤子上的剛好沒有了,我去給你摘新鮮的過來榕堰,我們把農(nóng)民白白當(dāng)成我們要詢問的客戶端嫌套,把水果當(dāng)成產(chǎn)品。

首先實現(xiàn)一個水果基類魏蔗。如圖:


接著實現(xiàn)具體的水果例如蘋果莺治、芒果。如圖所示:


我們詢問農(nóng)民白白要芒果床佳,他就去摘給我們榄审,客戶端圖下:


從這個過程我們可以看到具體的創(chuàng)建水果的過程搁进,去果園采摘的過程,這個芒果是怎么來的影兽。簡單工廠進化如下匆瓜,

農(nóng)民白白叫來了他兒子小明队萤,讓小明去采摘,農(nóng)民白白坐著專門賣水果左冬。

把小明看成一個工廠,他負責(zé)去創(chuàng)建采摘水果拇砰,當(dāng)攤子上沒有水果時,叫一聲小明牧氮,待會就會有了瑰枫。

改變的代碼如下:


我們看到簡單工廠只是對創(chuàng)建的過程進行了封裝尸诽。

3.工廠模式的實現(xiàn)

農(nóng)民白白的水果太好吃了盯另,很多人慕名而來,轉(zhuǎn)眼農(nóng)名白白就變成了大農(nóng)鸳惯,因為來的人太多了叠萍,每個人的需要的水果都不一樣俭令,

種類太多,而且小明一個人去摘這些水果太累了,因此有人來替大農(nóng)想了個新法子瓢湃,擴大園子,對水果進行分類雾叭,招進更多的人來負責(zé)

不同水果的采摘(生成)落蝙。

這里我們抽象出一個大的工廠也就是大果園,如圖所示:


我們對果園分類移迫,比如一塊地專門種植生成南方的水果厨埋,一塊地專門種植北方的水果捐顷,負責(zé)這兩塊地的人形成了2個工廠,如圖所示:


當(dāng)一個買家過來說要一個蘋果和一個芒果時候废赞,我們就喊管理北方水果的人趕緊產(chǎn)出一個蘋果和芒果補貨過來唉地。客戶端代碼示例如下:


工廠模式是建立在簡單工廠模式下的。工廠模式屬于創(chuàng)建型旷祸,因此創(chuàng)建對象在設(shè)計時候可思考用工廠模式的方式來解決。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末骚烧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子赃绊,更是在濱河造成了極大的恐慌,老刑警劉巖碧查,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忠售,死亡現(xiàn)場離奇詭異,居然都是意外死亡卦方,警方通過查閱死者的電腦和手機泰佳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浇坐,“玉大人汽绢,你說我怎么就攤上這事∧眩” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵疆拘,是天一觀的道長哎迄。 經(jīng)常有香客問我,道長漱挚,這世上最難降的妖魔是什么渺氧? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮白华,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘弧腥。我一直安慰自己,他們只是感情好虾攻,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布更鲁。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蛇券。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天塘慕,我揣著相機與錄音蒂胞,去河邊找鬼。 笑死骗随,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的指蚜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼摊鸡,長吁一口氣:“原來是場噩夢啊……” “哼免猾!你這毒婦竟也來了囤热?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤忧侧,失蹤者是張志新(化名)和其女友劉穎石窑,沒想到半個月后松逊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肯夏,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年烁兰,在試婚紗的時候發(fā)現(xiàn)自己被綠了沪斟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡主之,死狀恐怖槽奕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粤攒,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布夯接,位于F島的核電站钻蹬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏问欠。R本人自食惡果不足惜粒蜈,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望注整。 院中可真熱鬧,春花似錦肿轨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至优俘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惭婿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工审孽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留浑娜,地道東北人筋遭。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓暴拄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親乖篷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一豁鲤、工廠模式簡介 意圖定義一個創(chuàng)建對象的接口琳骡,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創(chuàng)建過程延遲到子類進...
    怡紅快綠閱讀 596評論 0 0
  • 前言 最近在復(fù)習(xí)java設(shè)計模式中的工廠模式楣号。本來有一點小小的理解。感覺都寫的不錯藻懒,就是有點太零散了,最后還是決定...
    斌林誠上閱讀 18,737評論 3 25
  • 工廠模式是我們?nèi)粘i_發(fā)中經(jīng)常使用的設(shè)計模式嬉荆。當(dāng)我們需要創(chuàng)建一些比較負責(zé)的對象的時候憎亚,為了將對象的初始化部分進行隔離...
    MrKing5946閱讀 358評論 0 0
  • 一、簡單工廠 定義 簡單工廠其實并不屬于23種GOF設(shè)計模式之一蝶锋,該模式是工廠方法模式的弱化(或者說是工廠方法模式...
    tianranll閱讀 194評論 0 0
  • 一什往、工廠模式主要是為創(chuàng)建對象提供過渡接口,以便將創(chuàng)建對象的具體過程屏蔽隔離起來躯舔,達到提高靈活性的目的。 工廠模式在...
    李序鍇閱讀 556評論 0 0