一.設(shè)計模式簡介

1.什么是設(shè)計模式

  • 設(shè)計模式(Design Pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類的、代碼設(shè)計經(jīng)驗的總結(jié)。
  • 目的:為了代碼可重用性、讓代碼更容易被他人理解、保證代碼可靠性。 設(shè)計模式使代碼編寫真正工程化;設(shè)計模式是軟件工程的基石脈絡(luò),如同大廈的結(jié)構(gòu)一樣。-摘自《百度百科》

2.為什么要學(xué)設(shè)計模式

  • 筆者最近看jdk源碼,看到龐大的類繼承關(guān)系,第一反應(yīng)就是頭大。不經(jīng)意筆者看到了《Head First設(shè)計模式 》,通過了解各種設(shè)計模式,以前繁雜的類的關(guān)系突然變得有跡可循,隨之暫停了源碼初探之旅,開始學(xué)習(xí)設(shè)計模式并記錄心得。
  • 設(shè)計模式的共享詞匯減少溝通成本,就像我會說西紅柿,你說番茄。
  • 設(shè)計模式描述在什么環(huán)境下,出現(xiàn)什么特定的問題,指導(dǎo)我們?nèi)绾胃咝绾谓鉀Q問題,以及應(yīng)用模式后的效果和可能帶來的問題。
  • 代碼就可以達(dá)到了代碼復(fù)用、增加可維護(hù)性的目的,從而增加重用性,易于修改,后期可擴(kuò)展。

3.設(shè)計模式的原則(總結(jié)自《Head First設(shè)計模式 》)

  • 1 封裝變化。
    2.多用組合少用繼承。
    3 針對接口編程,不針對實現(xiàn)編程。
    4為交互對象之間的松耦合設(shè)計而努力。
    5類應(yīng)該對擴(kuò)展開放,對修改關(guān)閉。
    6依賴抽象,不要依賴具體類。
    7 類應(yīng)該只有一個改變的理由。
    8一個實體應(yīng)當(dāng)盡量少的與其他實體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對獨立。

4. 常見的設(shè)計模式

image.png

更多介紹請參考:設(shè)計模式總結(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是設(shè)計模式每一個描述了一個在我們周圍不斷重復(fù)發(fā)生的問題,以及該問題的核心解決方案。這樣,你就能一次又一次地使用...
    故事狗閱讀 566評論 0 2
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,040評論 25 709
  • 1. 引言 為什么會抽象出設(shè)計模式?設(shè)計模式是在眾多人開發(fā)大型項目遇到問題,為了解決特定問題而抽象出來的解決方案。...
    LeeLeCoder閱讀 441評論 0 0
  • 設(shè)計模式是解決一類通用問題的方式。 設(shè)計模式可以增加代碼復(fù)用性。 設(shè)計模式已經(jīng)演變成一種標(biāo)準(zhǔn)語言。 設(shè)計模式是思路...
    Perry_wang閱讀 206評論 0 0
  • 滿眼落葉,不覺嘆:夕陽閑談秋光老,滿地黃葉誰人憐?隨風(fēng)舞動心意亂,晚秋天,滿心凄然。不忍黃葉隨風(fēng)轉(zhuǎn),殘日下,...
    李中民nn閱讀 567評論 2 2

友情鏈接更多精彩內(nèi)容