【設(shè)計(jì)模式】工廠模式

設(shè)計(jì)模式:工廠模式

定義:工廠方法模式定義了一個創(chuàng)建對象的接口,但由子類決定要實(shí)例化的類是哪一個哺眯,工廠方法讓類把實(shí)例化推遲到子類猪钮。


設(shè)計(jì)原則:

依賴倒置原則
要依賴抽象,不要依賴具體類肝陪。這個原則說明了:不能讓高層組件依賴低層組件,而且刑顺,不管高層或低層組件氯窍,“兩者”都應(yīng)該依賴于抽象。所謂“高層”組件蹲堂,是由其他低層組件定義行為的類狼讨。
倒置在哪里:在依賴倒置原則中的倒置是指和一般的OO設(shè)計(jì)的思考方式完全相反。高層組件和低層組件都依賴于抽象柒竞。

指導(dǎo)方針:

  • 變量不可以持有具體類的引用熊楼,在java中避免使用new而使用工廠
  • 不要讓類派生自具體類,如果派生自具體類能犯,就會依賴具體類,要派生于抽象(接口或者抽象類)
  • 不要覆蓋基類中已實(shí)現(xiàn)的方法犬耻,如果覆蓋踩晶,基類就不是一個真正適合被繼承的抽象,基類中已實(shí)現(xiàn)的方法應(yīng)該由所有子類共享枕磁。

設(shè)計(jì)模式:抽象工廠模式##

定義:抽象工廠模式提供了一個接口渡蜻,用于創(chuàng)建相關(guān)或依賴對象的家族,而不需要明確指定具體的類。


要點(diǎn)

  • 所有的工廠都是用來封裝對象的創(chuàng)建
  • 簡單工廠茸苇,雖然不是真正的設(shè)計(jì)模式排苍,但仍不失為一個簡單的方法,可以將客戶程序從具體類中解耦学密。
  • 工廠方法使用繼承:把對象的創(chuàng)建委托給子類淘衙,子類實(shí)現(xiàn)工廠方法來創(chuàng)建對象
  • 抽象工廠使用對象組合:對象的創(chuàng)建被是現(xiàn)在工廠接口所暴露出來的方法中
  • 所有的工廠模式都通過減少應(yīng)用程序和具體類之間的依賴而促進(jìn)送耦合
  • 工廠方法允許類將實(shí)例化延遲到子類中進(jìn)行
  • 抽象工廠創(chuàng)建相關(guān)的對象家族,而不需要依賴它們的具體類
  • 依賴倒置原則腻暮,指導(dǎo)我們避免依賴具體類型彤守,而要盡量依賴于抽象
  • 工廠是很有威力的技巧,幫助我們針對抽象編程哭靖,而不要針對具體類編程
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末具垫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子试幽,更是在濱河造成了極大的恐慌筝蚕,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铺坞,死亡現(xiàn)場離奇詭異起宽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)康震,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門燎含,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腿短,你說我怎么就攤上這事屏箍。” “怎么了橘忱?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵赴魁,是天一觀的道長。 經(jīng)常有香客問我钝诚,道長颖御,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任凝颇,我火速辦了婚禮潘拱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拧略。我一直安慰自己芦岂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布垫蛆。 她就那樣靜靜地躺著禽最,像睡著了一般腺怯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上川无,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天呛占,我揣著相機(jī)與錄音,去河邊找鬼懦趋。 笑死晾虑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的愕够。 我是一名探鬼主播走贪,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惑芭!你這毒婦竟也來了坠狡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤遂跟,失蹤者是張志新(化名)和其女友劉穎逃沿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體幻锁,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凯亮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了哄尔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片假消。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖岭接,靈堂內(nèi)的尸體忽然破棺而出富拗,到底是詐尸還是另有隱情,我是刑警寧澤鸣戴,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布啃沪,位于F島的核電站,受9級特大地震影響窄锅,放射性物質(zhì)發(fā)生泄漏创千。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一入偷、第九天 我趴在偏房一處隱蔽的房頂上張望追驴。 院中可真熱鬧,春花似錦疏之、人聲如沸殿雪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春几缭,著一層夾襖步出監(jiān)牢的瞬間河泳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工年栓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拆挥,地道東北人。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓某抓,卻偏偏與公主長得像纸兔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子否副,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

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

  • 一汉矿、工廠模式簡介 意圖定義一個創(chuàng)建對象的接口,讓其子類自己決定實(shí)例化哪一個工廠類备禀,工廠模式使其創(chuàng)建過程延遲到子類進(jìn)...
    怡紅快綠閱讀 603評論 0 0
  • 設(shè)計(jì)模式匯總 一洲拇、基礎(chǔ)知識 1. 設(shè)計(jì)模式概述 定義:設(shè)計(jì)模式(Design Pattern)是一套被反復(fù)使用、多...
    MinoyJet閱讀 3,948評論 1 15
  • 今天學(xué)習(xí)下最常見的工廠模式曲尸,工廠模式細(xì)分下來有三大類: 他們的目標(biāo)都是一樣的:封裝對象的創(chuàng)建赋续。但是實(shí)現(xiàn)手段和使用場...
    西木柚子閱讀 2,153評論 7 28
  • 一、工廠模式主要是為創(chuàng)建對象提供過渡接口另患,以便將創(chuàng)建對象的具體過程屏蔽隔離起來纽乱,達(dá)到提高靈活性的目的。 工廠模式在...
    李序鍇閱讀 559評論 0 0
  • 2015年昆箕,在簡書的第一篇文章⊙涣校現(xiàn)在是凌晨一點(diǎn),有人在睡覺有人在刷微博为严。自從學(xué)了這個專業(yè)感覺組織語言的能力越來越下...
    五十弦客閱讀 589評論 0 5