設計模式
設計模式是一套被反複使用,多數人知曉,經過分類彙編的,代碼設計經驗總結,使用設計模式是為了
可重用代碼,讓代碼更容易被他人了解,保障代碼可靠性
設計模式不是一種方法和技術,而是一種思想
設計模式和具體語言無關,學習設計模式就是要建立面向對象的思想
盡可能面向接口程式設計,低耦合,高内聚
分類:
建立型模式:對象的建立
結構型模式:對象的組成
行為型模式:對象的行為
建立型模式
- 簡單工廠模式
- 工廠方法模式
- 抽象工廠模式
- 建造者模式
- 原型模式
- 單例模式
結構型模式
- 外觀模式
- 擴充卡模式
- 代理模式
- 裝飾模式
- 橋接模式
- 組合模式
- 享元模式
行為型模式
- 模版方法模式
- 觀察者模式
- 狀态模式
- 職責鍊模式
- 指令模式
- 通路者模式
- 政策模式
- 疊代器模式
- 解釋器模式
- 備忘錄模式
設計原則
單一職責原則
核心思想:
高内聚,低耦合
每一類隻有一個職責,對外隻能提供一種功能
而引起類變化的原因應該隻有一個,在設計模式中,所有的設計模式都遵循這一原則
開閉原則
一個對象對擴充開放,對修改關閉
即對類的改動是通過增加代碼進行的,而不是修改現有代碼
需要借助抽象和多态,即把可能變化的内容抽象出來,進而使抽象的部分是相對穩定的,而具體的實作則是可以改變和擴充的
裡氏替換原則
在任何父類出現的地方都可以用它的子類來替代
同一個繼承體系中的對象應該有共同的行為特征
依賴注入原則
要依賴于抽象,不要依賴于具體實作
應用程式中,所有的類如果使用或依賴于其它的類,則應該依賴這些其它類的抽象類,而不是這些其它類的具體類。
要求我們在程式設計的的時候針對抽象類或者接口程式設計,而不是針對具體實作程式設計