設(shè)計模式系列--簡介

一这嚣、定義

設(shè)計模式(Design pattern)是一套被反復(fù)使用饲做、多數(shù)人知曉的基协、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)济蝉。使用設(shè)計模式是為了可重用代碼、讓代碼更容易被他人理解菠发、保證代碼可靠性王滤。 毫無疑問,設(shè)計模式于己于他人于系統(tǒng)都是多贏的滓鸠,設(shè)計模式使代碼編制真正工程化雁乡,設(shè)計模式是軟件工程的基石,如同大廈的一塊塊磚石一樣糜俗。項目中合理的運(yùn)用設(shè)計模式可以完美的解決很多問題踱稍,每種模式在現(xiàn)在中都有相應(yīng)的原理來與之對應(yīng),每一個模式描述了一個在我們周圍不斷重復(fù)發(fā)生的問題悠抹,以及該問題的核心解決方案珠月,這也是它能被廣泛應(yīng)用的原因。

二楔敌、分類

總體來說設(shè)計模式分為三大類:
創(chuàng)建型模式啤挎,共五種:工廠方法模式、抽象工廠模式卵凑、單例模式庆聘、建造者模式旺韭、原型模式。
結(jié)構(gòu)型模式掏觉,共七種:適配器模式区端、裝飾器模式、代理模式澳腹、外觀模式织盼、橋接模式、組合模式酱塔、享元模式沥邻。
行為型模式,共十一種:策略模式羊娃、模板方法模式唐全、觀察者模式、迭代子模式蕊玷、責(zé)任鏈模式邮利、命令模式、備忘錄模式垃帅、狀態(tài)模式延届、訪問者模式、中介者模式贸诚、解釋器模式方庭。
其實還有兩類:并發(fā)型模式和線程池模式。

image.png

三酱固、設(shè)計模式的六大原則

1械念、開閉原則(Open Close Principle)
開閉原則就是說對擴(kuò)展開放,對修改關(guān)閉运悲。在程序需要進(jìn)行拓展的時候龄减,不能去修改原有的代碼,實現(xiàn)一個熱插拔的效果扇苞。所以一句話概括就是:為了使程序的擴(kuò)展性好欺殿,易于維護(hù)和升級。想要達(dá)到這樣的效果鳖敷,我們需要使用接口和抽象類脖苏。

2、里氏代換原則(Liskov Substitution Principle)
里氏代換原則(Liskov Substitution Principle LSP)面向?qū)ο笤O(shè)計的基本原則之一定踱。 里氏代換原則中說棍潘,任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。 LSP是繼承復(fù)用的基石亦歉,只有當(dāng)衍生類可以替換掉基類恤浪,軟件單位的功能不受到影響時,基類才能真正被復(fù)用肴楷,而衍生類也能夠在基類的基礎(chǔ)上增加新的行為水由。里氏代換原則是對“開-閉”原則的補(bǔ)充。實現(xiàn)“開-閉”原則的關(guān)鍵步驟就是抽象化赛蔫。而基類與子類的繼承關(guān)系就是抽象化的具體實現(xiàn)砂客,所以里氏代換原則是對實現(xiàn)抽象化的具體步驟的規(guī)范。

3呵恢、依賴倒轉(zhuǎn)原則(Dependence Inversion Principle)
這個是開閉原則的基礎(chǔ)鞠值,具體內(nèi)容:真對接口編程,依賴于抽象而不依賴于具體渗钉。

4彤恶、接口隔離原則(Interface Segregation Principle)
這個原則的意思是:使用多個隔離的接口,比使用單個接口要好鳄橘。還是一個降低類之間的耦合度的意思声离,從這兒我們看出,其實設(shè)計模式就是一個軟件的設(shè)計思想挥唠,從大型軟件架構(gòu)出發(fā)抵恋,為了升級和維護(hù)方便焕议。所以上文中多次出現(xiàn):降低依賴宝磨,降低耦合。
5盅安、迪米特法則(最少知道原則)(Demeter Principle)
為什么叫最少知道原則唤锉,就是說:一個實體應(yīng)當(dāng)盡量少的與其他實體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對獨(dú)立别瞭。
6窿祥、合成復(fù)用原則(Composite Reuse Principle)

原則是盡量使用合成/聚合的方式,而不是使用繼承蝙寨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晒衩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子墙歪,更是在濱河造成了極大的恐慌听系,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件虹菲,死亡現(xiàn)場離奇詭異靠胜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門浪漠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陕习,“玉大人,你說我怎么就攤上這事址愿「昧停” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵响谓,是天一觀的道長拌牲。 經(jīng)常有香客問我,道長歌粥,這世上最難降的妖魔是什么塌忽? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮失驶,結(jié)果婚禮上土居,老公的妹妹穿的比我還像新娘。我一直安慰自己嬉探,他們只是感情好擦耀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涩堤,像睡著了一般眷蜓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胎围,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天吁系,我揣著相機(jī)與錄音,去河邊找鬼白魂。 笑死汽纤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的福荸。 我是一名探鬼主播蕴坪,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼敬锐!你這毒婦竟也來了背传?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤台夺,失蹤者是張志新(化名)和其女友劉穎径玖,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谒养,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挺狰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年明郭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丰泊。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡薯定,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瞳购,到底是詐尸還是另有隱情话侄,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布学赛,位于F島的核電站年堆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盏浇。R本人自食惡果不足惜变丧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绢掰。 院中可真熱鬧痒蓬,春花似錦、人聲如沸滴劲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽班挖。三九已至鲁捏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萧芙,已是汗流浹背给梅。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留末购,地道東北人破喻。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像盟榴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子婴噩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

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

  • 設(shè)計模式之六大原則(轉(zhuǎn)載) 關(guān)于設(shè)計模式的六大設(shè)計原則的資料網(wǎng)上很多...
    霄霄霄霄閱讀 899評論 0 1
  • title: 設(shè)計模式簡介categories: 設(shè)計模式tags: 設(shè)計模式date: 2017-05-03 0...
    九命丿相柳閱讀 584評論 0 0
  • 前言 設(shè)計模式六大原則網(wǎng)上資料比較多比較亂擎场,本文將網(wǎng)上的一些好的資料做一下整理,以便隨時翻閱几莽。友情提示迅办,設(shè)計模式雖...
    簡單的土豆閱讀 1,434評論 0 10
  • 本文集網(wǎng)絡(luò)上文章及自己coding和理解的結(jié)果而來,是設(shè)計模式學(xué)習(xí)的開篇章蚣。 本文介紹設(shè)計模式的一些概念站欺,分類,和設(shè)...
    月落蝶殤閱讀 506評論 0 0
  • 一、設(shè)計模式的分類 總體來說設(shè)計模式分為三大類: 創(chuàng)建型模式矾策,共五種:工廠方法模式磷账、抽象工廠模式、單例模式贾虽、建造者...
    RamboLI閱讀 749評論 0 1