【設(shè)計(jì)模式】設(shè)計(jì)模式入門

設(shè)計(jì)原則:

  • 多用組合,少用繼承。
    使用組合建立系統(tǒng)具有很大彈性,不僅可將算法族封裝成類,更可以“在運(yùn)行時(shí)動(dòng)態(tài)改變行為”,只要組合的行為對(duì)象符合正確的接口標(biāo)準(zhǔn)即可。

  • 封裝變化
    找出應(yīng)用中可能需要變化之處,把它們獨(dú)立出來,不要和那些不需要變化的代碼混在一起。

  • 針對(duì)接口編程,不對(duì)實(shí)現(xiàn)編程
    “針對(duì)接口編程”真正的意思是“針對(duì)超類型編程”。
    關(guān)鍵在于多態(tài),利用多態(tài),程序可以針對(duì)超類型編程,執(zhí)行時(shí)會(huì)根據(jù)實(shí)際情況執(zhí)行到真正的行為,不會(huì)被綁死在超類型的行為上。變量的聲明類型應(yīng)該是超類型,通常是一個(gè)抽象類或者是一個(gè)接口,如此,只要是具體實(shí)現(xiàn)此超類型的類所產(chǎn)生的對(duì)象,都可以指定給這個(gè)變量。這也意味著,生命類時(shí)不用理會(huì)以后真正執(zhí)行的對(duì)象類型。


設(shè)計(jì)模式:策略模式

定義:策略模式定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨(dú)立于使用算法的客戶。


要點(diǎn):

  • 知道OO基礎(chǔ),并不足以讓你設(shè)計(jì)出良好的OO系統(tǒng)
  • 良好的OO設(shè)計(jì)必須具備可服用,可擴(kuò)充,可維護(hù)的特性
  • 模式可以讓我們建造出具有良好OO設(shè)計(jì)質(zhì)量的系統(tǒng)
  • 模式被認(rèn)為是歷經(jīng)驗(yàn)證的OO設(shè)計(jì)經(jīng)驗(yàn)
  • 模式不是代碼,而是針對(duì)設(shè)計(jì)問題的通用解決方案。
  • 模式不是被發(fā)明,而是被發(fā)現(xiàn)。
  • 大多數(shù)的模式和原則,都著眼于軟件變化的主題。
  • 大多數(shù)的模式都允許系統(tǒng)局部改變獨(dú)立于其他部分。
  • 我們常把系統(tǒng)重會(huì)變化的部分抽出來封裝。
  • 模式讓開發(fā)人員之間有共享的語言,能夠最大化溝通的價(jià)值。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,191評(píng)論 25 708
  • 設(shè)計(jì)模式匯總 一、基礎(chǔ)知識(shí) 1. 設(shè)計(jì)模式概述 定義:設(shè)計(jì)模式(Design Pattern)是一套被反復(fù)使用、多...
    MinoyJet閱讀 4,094評(píng)論 1 15
  • 我變的多愁,在這寒冷初春里 你有點(diǎn)傷感,在這落寞的雨水里 點(diǎn)點(diǎn)心火一般的溫暖被風(fēng)吹進(jìn)雨里 你問 還要走多少步可相遇...
    文字生涯閱讀 325評(píng)論 0 0
  • 不要以為生活的富足, 就要放棄努力。 人的一生, 不能滿足于生活的安逸。 不怕經(jīng)歷苦難, 不怕面對(duì)挫折, 不怕奮斗...
    N1115丁麗閱讀 222評(píng)論 0 1
  • 六歲,我和發(fā)小老丁用小石子砸了隔壁大爺家的窗戶,后來被抓到,大爺很寬容地放過了我們,可爸媽就沒有那么仁慈了。 我失...
    鹿嚀buibuibui閱讀 388評(píng)論 1 0

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