1. 程式人生 > >設計模式原則和分類總結

設計模式原則和分類總結

設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、程式碼設計經驗的總結。使用設計模式是為了可重用程式碼、讓程式碼更容易被他人理解、保證程式碼可靠性。


設計模式6大原則:
單一職責原則:不要存在多於一個導致類變更的原因。通俗的說,即一個類只負責一項職責。
里氏替換原則:子類必須能夠替換掉它們的父類。通俗的說,即子類可以擴充套件父類的功能,但不能改變父類原有的功能。
依賴倒轉原則:高層模組不應該依賴低層模組,二者都應該依賴其抽象;抽象不應該依賴細節;細節應該依賴抽象。中心思想:面向介面程式設計。
介面隔離原則:儘量使用多個專門的單一的小介面,避免龐大的總介面。
迪米特法則(最少知道原則):一個物件應該對其他物件保持最少的瞭解。即一個實體應該儘量少的與其他實體之間發生相互作用,使得系統功能模組相對獨立。

開閉原則:對擴充套件開放,對修改關閉。

6大原則告訴我們:用抽象構建框架,用實現擴充套件細節。單一職責原則告訴我們實現類要職責單一;里氏替換原則告訴我們不要破壞繼承體系;依賴倒置原則告訴我們要面向介面程式設計;介面隔離原則告訴我們在設計介面的時候要精簡單一;迪米特法則告訴我們要降低耦合。而開閉原則是總綱,他告訴我們要對擴充套件開放,對修改關閉。對這六個原則的遵守並不是是和否的問題,而是多和少的問題,也就是說,我們一般不會說有沒有遵守,而是說遵守程度的多少。任何事都是過猶不及,設計模式的六個設計原則也是一樣,制定這六個原則的目的並不是要我們刻板的遵守他們,而需要根據實際情況靈活運用。對他們的遵守程度只要在一個合理的範圍內,就算是良好的設計。


設計模式分類:
建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式,共七種:介面卡模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。