java工廠模式簡析

本次主要對比java設(shè)計(jì)模式中的簡單工廠洽腺、工廠方法嗦嗡、抽象工廠三種設(shè)計(jì)模式

在設(shè)計(jì)模式中簡單工廠和工廠方法是同一種模式

本文不貼代碼了胆剧,網(wǎng)上有很多帖子帶有代碼旱物,大家可以相互印證一下遥缕。

下面說一下這三種模式是如何層層遞進(jìn)的。

1.簡單工廠:

我們在創(chuàng)建對象一般采用new的方式宵呛,給開發(fā)帶來很多不便单匣,尤其是一些常用的工具類。所以簡單工廠就出現(xiàn)了。

簡單工廠實(shí)現(xiàn)了一個(gè)工廠類户秤,工廠類里面實(shí)現(xiàn)了你需要的具體類的構(gòu)造码秉。在客戶端調(diào)用時(shí),只需要傳入關(guān)鍵字鸡号,工廠類會(huì)自動(dòng)創(chuàng)建對象转砖。工廠類也被稱為上帝類。

缺點(diǎn):我們需要引入新的類時(shí)鲸伴,就需要對工廠類進(jìn)行修改府蔗,這不符合設(shè)計(jì)模式的開閉原則(對拓展開放,對修改關(guān)閉)汞窗,其次姓赤,當(dāng)大量的類交給工廠類時(shí),會(huì)有大量的判斷語句杉辙。增加復(fù)雜度模捂、運(yùn)維難度。

2.工廠方法:

為解決簡單工廠的缺點(diǎn)蜘矢,我們需要橫向拓展工廠類狂男,將每個(gè)需要工廠來創(chuàng)建的類都創(chuàng)建一個(gè)工廠類,每個(gè)工廠類都對應(yīng)一個(gè)具體類的實(shí)現(xiàn)品腹,同時(shí)需要?jiǎng)?chuàng)建工廠類的接口和抽象類的接口岖食。調(diào)用方需要?jiǎng)?chuàng)建某個(gè)類時(shí),需要調(diào)用工廠接口對應(yīng)的工廠類的具體實(shí)現(xiàn)舞吭,然后根據(jù)實(shí)現(xiàn)的工廠類創(chuàng)建對象泡垃。

這里給我最大的感受就是簡單工廠只有一個(gè)工廠類(是真的累),所有創(chuàng)建對象的類都要在這里實(shí)現(xiàn)羡鸥,工廠方法只是在這個(gè)工廠類上進(jìn)行了橫向拓展蔑穴。這樣在我們有要新增的類加入時(shí),只需要?jiǎng)?chuàng)建一個(gè)工廠類實(shí)現(xiàn)工廠接口惧浴,創(chuàng)建一個(gè)具體產(chǎn)品類存和,實(shí)現(xiàn)產(chǎn)品接口就可以了,這樣就保證了設(shè)計(jì)模式的開閉原則衷旅。

3.抽象工廠:

其實(shí)工廠方法已經(jīng)可以解決大部分也無需求捐腿,但是但我們需要?jiǎng)?chuàng)建的產(chǎn)品類復(fù)雜到一定程度的時(shí)候,就需要抽象工廠來處理了柿顶。

比如:牛茄袖、羊?qū)儆趧?dòng)物,有兩個(gè)牧場里面都有牛嘁锯、羊宪祥。

兩個(gè)農(nóng)場里面的所有牛是一個(gè)產(chǎn)品族聂薪,動(dòng)物是產(chǎn)品樹(因?yàn)槭呛芏囝惖目傤悾?/p>

這時(shí)我們需要分別創(chuàng)建動(dòng)物,然后創(chuàng)建牛蝗羊、羊的類來實(shí)現(xiàn)接口胆建。然后創(chuàng)建工廠類分別有創(chuàng)建牛、羊的抽象方法肘交。然后兩個(gè)牧場分別實(shí)現(xiàn)工廠類的接口,重寫牛羊的抽象方法扑馁。創(chuàng)建調(diào)用時(shí)涯呻,只需要?jiǎng)?chuàng)建對應(yīng)的農(nóng)場類,然后調(diào)用創(chuàng)建牛羊的方法腻要,就能準(zhǔn)確定位需要?jiǎng)?chuàng)建的是哪個(gè)農(nóng)場的鸥垂蓿或者羊。

個(gè)人理解:其實(shí)從工廠方法到抽象工廠雄家,區(qū)別只在于是否將產(chǎn)品再抽象出來一層效诅,這樣就形成矩陣式的,既有樹又有族趟济。(在工廠方法中只有樹)乱投。其實(shí)如果我們不去抽象動(dòng)物這一層級,完全可以向工廠方法一樣顷编,牧場a的牛戚炫、牧場b的牛。媳纬。双肤。然后分別創(chuàng)建牧場a牛的工廠。钮惠。茅糜。

本文參考:https://blog.csdn.net/xiao1_1bing/article/details/81774931

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市素挽,隨后出現(xiàn)的幾起案子蔑赘,更是在濱河造成了極大的恐慌,老刑警劉巖毁菱,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件米死,死亡現(xiàn)場離奇詭異,居然都是意外死亡贮庞,警方通過查閱死者的電腦和手機(jī)峦筒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窗慎,“玉大人物喷,你說我怎么就攤上這事卤材。” “怎么了峦失?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵扇丛,是天一觀的道長。 經(jīng)常有香客問我尉辑,道長帆精,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任隧魄,我火速辦了婚禮卓练,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘购啄。我一直安慰自己襟企,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布狮含。 她就那樣靜靜地躺著顽悼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪几迄。 梳的紋絲不亂的頭發(fā)上蔚龙,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機(jī)與錄音映胁,去河邊找鬼府蛇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛屿愚,可吹牛的內(nèi)容都是我干的汇跨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼妆距,長吁一口氣:“原來是場噩夢啊……” “哼穷遂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起娱据,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蚪黑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后中剩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忌穿,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年结啼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了掠剑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡郊愧,死狀恐怖朴译,靈堂內(nèi)的尸體忽然破棺而出井佑,到底是詐尸還是另有隱情,我是刑警寧澤眠寿,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布躬翁,位于F島的核電站,受9級特大地震影響盯拱,放射性物質(zhì)發(fā)生泄漏盒发。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一狡逢、第九天 我趴在偏房一處隱蔽的房頂上張望迹辐。 院中可真熱鬧,春花似錦甚侣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至低葫,卻和暖如春详羡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嘿悬。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工实柠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人善涨。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓窒盐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钢拧。 傳聞我的和親對象是個(gè)殘疾皇子蟹漓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

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

  • 所想隔山 所念隔海 我曾于海角處等你歸來 可 終究 海浪依舊 人不再
    故夢初醒閱讀 204評論 0 3
  • 通常買了中高檔的耳機(jī)或音響后,部分發(fā)燒友會(huì)選擇煲機(jī)源内。何為煲機(jī)葡粒?即“人為的以非正常使用的方式加速器材進(jìn)入成熟期的過...
    洪苙婕2009閱讀 82評論 0 0
  • 他在你的眼中是整個(gè)世界,而你是否是他眼中的...哪怕只是一抹色彩膜钓; 喜歡只是比暗戀更勇敢一點(diǎn)嗽交! 人都...
    小陽陽r閱讀 141評論 3 3
  • 常常對工作提不起興趣。 工作很多年颂斜,依然原地踏步夫壁。 想跳槽,總是高不成低不就沃疮。 想辭職掌唾,不知道自己適合做什么放前。 每...
    林燕妮2020閱讀 705評論 12 3