什麼是設計模式:html
設計模式(Design pattern)是一套被反覆使用、多數人知曉的、通過分類編目的、代碼設計經驗的總結。使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。編程
一.經常使用的設計模式:設計模式
設計模式整體分爲三大類:spa
-
- 建立型模式(5種):單例模式,工廠模式,抽象工廠模式,建造者模式,原型模式。
- 結構型模式(7種):適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
- 行爲型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
二.設計模式原則:設計
- 開閉原則:
- 對擴展開發,對修改關閉:即一旦項目有了變更,儘可能少去修改原有代碼,而是儘可能去進行新模塊的擴展。爲了使程序的擴展性好,易於維護和升級。想要達到這樣的效果,咱們須要使用接口和抽象類。(頂層調用,底層實現)
- 里氏代換原則:
- 面向對象設計的基本原則之一。 里氏代換原則中說,任何基類能夠出現的地方,子類必定能夠出現。能夠說:里氏代換原則是繼承複用的一個基礎。
- 依賴倒轉原則:
- 接口隔離原則:
- 使用多個隔離的接口,比使用單個接口要好。仍是一個下降類之間的耦合度的意思
- 迪米特法則(最少知道原則):
- 一個實體應當儘可能少的與其餘實體之間發生相互做用,使得系統功能模塊相對獨立
- 合成複用原則:
- 原則是儘可能使用合成/聚合的方式,而不是使用繼承
- 合成:表示一種強的擁有關係,部分與總體,部分的生命週期和總體同樣
- 聚合:一種弱的擁有關係,A對象能夠包含B對象,可是B對象並非A對象的一部分