大話23種設(shè)計(jì)模式

本篇文章為一個(gè)系列,主要深入淺出的談?wù)勗O(shè)計(jì)模式設(shè)計(jì)羞反,以方便我們在開發(fā)時(shí)候真正使用布朦,而非為了面試才去學(xué)習(xí)。

1.設(shè)計(jì)模式是什么昼窗?

答:設(shè)計(jì)模式是一套被反復(fù)套用并被大部分人認(rèn)可的代碼設(shè)計(jì)經(jīng)驗(yàn)的一個(gè)總結(jié)是趴。引入設(shè)計(jì)模式可以增強(qiáng)代碼性,保證代碼的可靠性澄惊。

2.設(shè)計(jì)模式遵循的六大原則是什么唆途,分別是什么意思?

答:六大原則是單一職責(zé)原則掸驱、開閉原則肛搬、里氏替換原則、依賴倒置原則毕贼、接口隔離原則温赔、迪米特法則,這些原則其實(shí)不僅僅是設(shè)計(jì)模式要遵循的鬼癣,我們寫code也應(yīng)該遵循的陶贼。

單一職責(zé)原則:一個(gè)類應(yīng)該有且只有一個(gè)變化的原因

開閉原則:對修改關(guān)閉對擴(kuò)展開放

里氏替換原則:引用基類的地方必須能透明地使用其子類的對象

依賴倒置原則:針對接口編程而非實(shí)現(xiàn)細(xì)節(jié)

接口隔離原則:客戶端不應(yīng)該依賴它不需要的接口而應(yīng)該建立在最小接口上

迪米特法則:一個(gè)對象應(yīng)當(dāng)對其他對象有盡可能少的了解

3.23種設(shè)計(jì)模式分類有哪些,每個(gè)分類都有哪些設(shè)計(jì)模式待秃?

答:設(shè)計(jì)模式分為創(chuàng)建型模式骇窍、結(jié)構(gòu)型模式、行為型模式三種锥余,所謂創(chuàng)建型模式就是表示代替new方法動(dòng)態(tài)創(chuàng)建對象的一個(gè)思想腹纳,結(jié)構(gòu)型模式就是涉及到如何組合類和對象以獲得更大的結(jié)構(gòu)的,行為型模式對在不同的對象之間劃分責(zé)任和算法的抽象化。

創(chuàng)建型模式五種嘲恍,分別是工廠模式足画、抽象工廠模式、單例模式佃牛、建造者模式淹辞、原型模式(*)。

工廠模式:工廠方法代替new操作的一種模式

抽象工廠方法:為創(chuàng)建一組相關(guān)或相互依賴的對象提供一個(gè)接口而無需指定它們的具體類

單例模式:指系統(tǒng)運(yùn)行時(shí)只存在一個(gè)這個(gè)類型的對象

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

原型模式:使用原型實(shí)例指定待創(chuàng)建對象的類型象缀,并且通過復(fù)制這個(gè)原型來創(chuàng)建新的對象

結(jié)構(gòu)型模式有七種,分別是適配器模式爷速、裝飾器模式央星、代理模式(*)、外觀模式惫东、橋接模式莉给、組合模式、享元模式廉沮。

適配器模式:讓那些接口不兼容的類可以一起工作

裝飾器模式:對已經(jīng)存在的某些類進(jìn)行裝飾,以此來擴(kuò)展一些功能

代理模式:某一個(gè)對象提供一個(gè)代理對象,并由代理對象控制對原對象的引用颓遏,分為動(dòng)態(tài)代理與靜態(tài)代理

外觀模式(Facade):向客戶端提供了一個(gè)客戶端可以訪問系統(tǒng)的接口

橋接模式:抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化

組合模式:將對象組合成樹形結(jié)構(gòu)以表示部分-整體的層次結(jié)構(gòu)滞时,使得用戶對單個(gè)對象和組合對象使用具有一致性

享元模式:運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對象

行為型模式有11種叁幢,分別是策略模式(*)、模板方法模式、觀察者模式(*)遭赂、迭代子模式、責(zé)任鏈模式(*)、命令模式(*)仿滔、備忘錄模式、狀態(tài)模式(*)膝擂、訪問者模式亚斋、中介者模式(*)、解釋器模式拂募。

策略模式:一個(gè)類的行為或其算法可以在運(yùn)行時(shí)更改

模板方法模式:定義一個(gè)操作中算法的框架,而將一些步驟延遲到子類中

觀察者模式:一個(gè)對象被修改時(shí),則會(huì)自動(dòng)通知它的所有依賴對象

迭代子模式:可以順序地訪問一個(gè)聚集中的元素而不必暴漏聚集的內(nèi)部表象

責(zé)任鏈模式:很多對象由每一個(gè)對象對其下家的引用而連接起來形成一條鏈

命令模式:請求以命令的形式包裹在對象中,并傳給調(diào)用對象

備忘錄模式:在不破壞封閉的前提下,捕獲一個(gè)對象的內(nèi)部狀態(tài),并在該對象之外保存這個(gè)狀態(tài)

狀態(tài)模式:當(dāng)一個(gè)對象內(nèi)在狀態(tài)改變時(shí)允許其改變行為庭猩,這個(gè)對象看起來像改變了其類

訪問者模式:數(shù)據(jù)操作與數(shù)據(jù)結(jié)構(gòu)分離的設(shè)計(jì)模式

中介者模式:用一個(gè)中介對象來封裝一系列的對象交互

解釋器模式:把事物高頻率的特征和符號都通過解釋器來解釋,并加以組合處理

其中帶(*)表示經(jīng)常會(huì)用到的,有什么問題請隨時(shí)留言陈症,謝謝0!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末录肯,一起剝皮案震驚了整個(gè)濱河市趴腋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖优炬,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颁井,死亡現(xiàn)場離奇詭異,居然都是意外死亡蠢护,警方通過查閱死者的電腦和手機(jī)雅宾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來葵硕,“玉大人眉抬,你說我怎么就攤上這事⌒赴迹” “怎么了蜀变?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蘸劈。 經(jīng)常有香客問我昏苏,道長,這世上最難降的妖魔是什么威沫? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任贤惯,我火速辦了婚禮,結(jié)果婚禮上棒掠,老公的妹妹穿的比我還像新娘孵构。我一直安慰自己,他們只是感情好烟很,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布颈墅。 她就那樣靜靜地躺著,像睡著了一般雾袱。 火紅的嫁衣襯著肌膚如雪恤筛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天芹橡,我揣著相機(jī)與錄音毒坛,去河邊找鬼。 笑死林说,一個(gè)胖子當(dāng)著我的面吹牛煎殷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播腿箩,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼豪直,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了珠移?” 一聲冷哼從身側(cè)響起弓乙,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤末融,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后唆貌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體滑潘,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年锨咙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了语卤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡酪刀,死狀恐怖粹舵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骂倘,我是刑警寧澤眼滤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站历涝,受9級特大地震影響诅需,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荧库,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一堰塌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧分衫,春花似錦场刑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至邀桑,卻和暖如春瞎疼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背壁畸。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工贼急, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瓤摧。 一個(gè)月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像玉吁,于是被迫代替她去往敵國和親照弥。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

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