設(shè)計模式總結(jié)

策略模式

官方描述:(定義一系列算法糖耸,把他們封裝起來嘉竟,并且使它們可以相互替換)
白話文描述:有共同的抽象行為,具體不同的行為稱作為不同的策略舍扰,最終可以使用Context上下文獲取相對應(yīng)的策略
應(yīng)用場景:解決多重if判斷問題、聚合支付平臺边苹、第三方聯(lián)合登陸裁僧、調(diào)用多個不同短信接口等慕购。

責任鏈模式

官方描述:(將請求的發(fā)送者和接收者解耦茬底,使的多個對象都有處理這個請求的機會)
白話文描述:每一個業(yè)務(wù)模塊之間相互依賴比較有關(guān)聯(lián)、每個關(guān)聯(lián)模塊稱作為handler(處理器)使用上一個handler引用到下一個hanlder實現(xiàn)一個鏈表
應(yīng)用場景:權(quán)限控制阱表、網(wǎng)關(guān)權(quán)限控制、審批涉馁、風控系統(tǒng)等。

模板模式

官方描述:定義一個算法結(jié)構(gòu)爱致,而將一些步驟延遲到子類實現(xiàn)
白話文描述:提前定義好整體骨架,不同的行為讓字類實現(xiàn),相同的行為直接定義在抽象類中復(fù)用
應(yīng)用場景:支付的異步回調(diào)重構(gòu)牢裳、Servlet實現(xiàn)

裝飾模式

官方描述:對象間的一對多的依賴關(guān)系
白話文描述:在不改變原有對象的基礎(chǔ)上附加功能,相比生成子類更靈活
應(yīng)用場景: IO流

代理模式

官方描述:為其他對象提供一個代理以便控制這個對象的訪問
白話文描述:在方法之前和之后做一些處理蒲讯,實現(xiàn) AOP通知
應(yīng)用場景:AOP、事務(wù)判帮、日志、權(quán)限控制

觀察者模式

官方描述:對象間的一對多的依賴關(guān)系
白話文描述:在對象這間定義一對多的依賴悦昵,這樣一來,當一個對象改變狀態(tài)但指,依賴它的對象收到通知并自動更新
應(yīng)用場景:發(fā)布訂閱抗楔、事件通知、Zookeeper连躏、事件監(jiān)聽

門面模式,外觀模式

官方描述:對外提供一個統(tǒng)一的方法拍棕,來訪問子系統(tǒng)中的一群接口
白話文描述:該模式就是把一些復(fù)雜的流程封裝成一個接口供給外部用戶更簡單的使用

狀態(tài)模式

官方描述:允許一個對象在其他對象內(nèi)部狀態(tài)改變時改變它的行為
白話文描述:狀態(tài)模式與策略模式本質(zhì)上沒有很大的區(qū)別晓铆,主要根據(jù)行為決定尤蒿,如果有共同抽象行為使用策略模式幅垮,沒有共同行為使用狀態(tài)模式

適配器模式

官方描述:將一個類的方法接口轉(zhuǎn)換成客戶希望的另外一個接口
應(yīng)用場景:mybatis日志收集腰池、提供接口轉(zhuǎn)換

單例模式

官方描述:保證在一個jvm中只能有一個實例
反射機制可以破解單例
最靠譜的單例是枚舉

本文參考螞蟻課堂:http://www.mayikt.com/#

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市忙芒,隨后出現(xiàn)的幾起案子示弓,更是在濱河造成了極大的恐慌,老刑警劉巖呵萨,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奏属,死亡現(xiàn)場離奇詭異,居然都是意外死亡潮峦,警方通過查閱死者的電腦和手機囱皿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忱嘹,“玉大人嘱腥,你說我怎么就攤上這事【性茫” “怎么了齿兔?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長屁桑。 經(jīng)常有香客問我掏颊,道長,這世上最難降的妖魔是什么盆偿? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任事扭,我火速辦了婚禮求橄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘条霜。我一直安慰自己涵亏,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宠默,像睡著了一般搀矫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上采够,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音虹茶,去河邊找鬼蝴罪。 笑死,一個胖子當著我的面吹牛要门,可吹牛的內(nèi)容都是我干的欢搜。 我是一名探鬼主播炒瘟,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼疮装,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刷袍?” 一聲冷哼從身側(cè)響起呻纹,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤居暖,失蹤者是張志新(化名)和其女友劉穎藤肢,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體省骂,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡钞澳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年轧粟,在試婚紗的時候發(fā)現(xiàn)自己被綠了兰吟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片混蔼。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡惭嚣,死狀恐怖悔政,靈堂內(nèi)的尸體忽然破棺而出谋国,到底是詐尸還是另有隱情,我是刑警寧澤闷盔,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布牡整,位于F島的核電站,受9級特大地震影響逃贝,放射性物質(zhì)發(fā)生泄漏沐扳。R本人自食惡果不足惜沪摄,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一杨拐、第九天 我趴在偏房一處隱蔽的房頂上張望擂啥。 院中可真熱鬧哺壶,春花似錦、人聲如沸离赫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽接剩。三九已至萨咳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鹃两,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工途蒋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留号坡,地道東北人梯醒。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓畜隶,卻偏偏與公主長得像逮光,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嗡综,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

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

  • 1.抽象工廠: Factory提供一個創(chuàng)建一系列或相關(guān)依賴對象的接口杜漠,而無需指定他們具體的類。針對多級結(jié)構(gòu). 抽象...
    uiiang閱讀 2,883評論 0 2
  • 前言 GoF的23種設(shè)計模式盼樟,包括創(chuàng)建型晨缴、結(jié)構(gòu)型和行為型击碗,其涵蓋了面向?qū)ο笏枷氲木枰约爸T多細節(jié)们拙。本文結(jié)合《設(shè)計模...
    尤汐Yogy閱讀 4,359評論 0 38
  • 設(shè)計模式是軟件開發(fā)人員在軟件開發(fā)過程中面臨的一般問題的解決方案械拍。這些解決方案是眾多軟件開發(fā)人員經(jīng)過相當長的一段時間...
    涵仔睡覺閱讀 469評論 0 0
  • 雖然我們都知道有26個設(shè)計模式甲馋,但是大多停留在概念層面摔刁,真實開發(fā)中很少遇到共屈,Mybatis源碼中使用了大量的設(shè)計模...
    風平浪靜如碼閱讀 498評論 0 7
  • 昨晚洗臉時和平時一樣打算敷個面膜哼凯,然后在放護膚品的櫥子里選断部,卻被自己囤的面膜驚呆了班缎,放在靠櫥深處的兩個收納盒里的拆...
    R小法師R閱讀 496評論 3 3