java23種設(shè)計模式-創(chuàng)建型模式之建造者模式

作者 薛之謙qxl? 轉(zhuǎn)載請注明出處

我的知乎原文:https://zhuanlan.zhihu.com/p/125618839



內(nèi)容簡介:

建造者模式(Builder)

定義:

建造者模式:將一個復(fù)雜的對象的構(gòu)建與它的表示分離衬浑,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示切揭。

實用范圍:

1券时、當(dāng)創(chuàng)建復(fù)雜對象的算法應(yīng)該獨立于該對象的組成部分以及它們的裝配方式時。

2束昵、當(dāng)構(gòu)造過程必須允許被構(gòu)造的對象有不同表示時吼野。

在《Effective Java》書中第二條,就提到“遇到多個構(gòu)造器參數(shù)時要考慮用構(gòu)建器”诡宗,其實這里的構(gòu)建器就屬于建造者模式滔蝉,只是里面把四個角色都放到具體產(chǎn)品里面了。

我們看一下代碼:

一個Sender接口:

兩個實現(xiàn)類MailSender和SmsSender:

建造者類如下:

測試類:

從這點看出塔沃,建造者模式將很多功能集成到一個類里蝠引,這個類可以創(chuàng)造出比較復(fù)雜的東西。所以與工程模式的區(qū)別就是:工廠模式關(guān)注的是創(chuàng)建單個產(chǎn)品蛀柴,而建造者模式則關(guān)注創(chuàng)建符合對象螃概,多個部分。因此鸽疾,是選擇工廠模式還是建造者模式吊洼,依實際情況而定。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末制肮,一起剝皮案震驚了整個濱河市冒窍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌豺鼻,老刑警劉巖综液,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異儒飒,居然都是意外死亡谬莹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門约素,熙熙樓的掌柜王于貴愁眉苦臉地迎上來届良,“玉大人,你說我怎么就攤上這事圣猎。” “怎么了乞而?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵送悔,是天一觀的道長。 經(jīng)常有香客問我爪模,道長欠啤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任屋灌,我火速辦了婚禮洁段,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘共郭。我一直安慰自己祠丝,他們只是感情好疾呻,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著写半,像睡著了一般岸蜗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上叠蝇,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天璃岳,我揣著相機(jī)與錄音,去河邊找鬼悔捶。 笑死铃慷,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜕该。 我是一名探鬼主播犁柜,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蛇损!你這毒婦竟也來了赁温?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤淤齐,失蹤者是張志新(化名)和其女友劉穎股囊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體更啄,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡稚疹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了祭务。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片内狗。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖义锥,靈堂內(nèi)的尸體忽然破棺而出柳沙,到底是詐尸還是另有隱情,我是刑警寧澤拌倍,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布赂鲤,位于F島的核電站,受9級特大地震影響柱恤,放射性物質(zhì)發(fā)生泄漏数初。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一梗顺、第九天 我趴在偏房一處隱蔽的房頂上張望泡孩。 院中可真熱鬧,春花似錦寺谤、人聲如沸仑鸥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锈候。三九已至薄料,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泵琳,已是汗流浹背摄职。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留获列,地道東北人谷市。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像击孩,于是被迫代替她去往敵國和親迫悠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

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

  • 【學(xué)習(xí)難度:★★★★☆巩梢,使用頻率:★★☆☆☆】直接出處:建造者模式梳理和學(xué)習(xí):https://github.com...
    BruceOuyang閱讀 769評論 0 5
  • 創(chuàng)建型模式 工廠模式 工廠模式(Factory Pattern)是 Java 中最常用的設(shè)計模式之一创泄。這種類型的設(shè)...
    隔墻送來秋千影閱讀 2,662評論 0 11
  • 記錄結(jié)構(gòu): 1.前言 沒有人買車會只買一個輪胎或者方向盤,大家買的都是一輛包含輪胎、方向盤和發(fā)動機(jī)等多個部件的完整...
    markfork閱讀 734評論 0 4
  • 創(chuàng)建型模式 工廠模式 工廠模式(Factory Pattern)是 Java 中最常用的設(shè)計模式之一括蝠。這種類型的設(shè)...
    liuyang7519閱讀 324評論 0 2
  • 我自己身上鞠抑,書生氣真的是很重。一般遇到別人瞎聊天的時候忌警,本來別人了就是出于有一沒一的隨便說說搁拙,自己了卻往往把這些當(dāng)...
    方知方行閱讀 62評論 0 0