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

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

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

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

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

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

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

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

image.png

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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