設計模式由四人幫(全拼 Gang of Four)首次提出,代表了最佳的實踐,通常被有經驗的面向物件的軟體開發人員所采用,設計模式是經過高度抽象化的在編程中可以被反復使用的代碼設計經驗的總結,是人們經過長期編程經驗總結出來的一種編程思想,基于設計模式的原則,我們可以根據開發需求改造或重新設計自己的設計模式,
個人認為掌握設計模式有三大好處:更容易看懂框架等優秀原始碼,更容易看懂作業實踐中前輩們的代碼,更容易撰寫自己的代碼,
設計模式七大原則
設計模式有 7 個原則:單一職責原則、開閉原則、里氏替換原則、依賴倒轉原則、介面隔離原則、
合成/聚合復用原則、迪米特法則,
單一職責原則
單一職責原則又稱為單一功能原則,它規定了一個類只能有一個職責,如果有多個職責(功能)被設計在一個類中,這個類就違反了單一職責原則,
開閉原則
開閉原則規定軟體中的物件(類、模塊、函式等)對擴展開放,對修改關閉,這意味著一個物體允許在不改變其源代碼的前提的下改變其行為,該特性在產品化的環境下是特別有價值的,在這種環境下,改變源代碼需要經過代碼審查、單元測驗等程序,以確保產品的使用質量,遵循這個原則的代碼在擴展時并不發生改變,因此不用經過上述流程,
里氏替換原則
里氏替換原則是對開閉原則的補充,規定了在任意父類可以出現的地方,子類都一定可以出現,實作開閉原則的關鍵就是抽象化,父類與子類的繼承關系就是抽象化的具體體現,所以里氏替換原則就是對實作抽象化的具體步驟的規范,
依賴倒轉原則
依賴倒轉原則指程式要依賴于抽象(比如 Java 中的抽象類和介面),而不是依賴于具體的實作(比如Java 中的實作類),簡單地說,就是要求基于抽象進行編程,不要求對實作進行編程,這就降低了模塊間的耦合度,
介面隔離原則
介面隔離原則指通過將不同的功能定義在不同的介面中來實作介面的隔離,這樣就避免了其他類在依賴該介面(介面上定義的功能)時依賴其不需要的介面,可減少介面之間依賴的冗余性和復雜性,
合成/聚合復用原則
合成/聚合復用原則指通過在一個新的物件中引入(注入)已有的物件以達到類的功能復用和擴展的目的,它的設計原則是要盡量使用合成或聚合而不要使用繼承來擴展類的功能,
迪米特法則
迪米特法則指一個物件盡可能少的與其他物件發生相互作用,即一個物件對其他物件應該有盡可能少的了解或依賴,其核心思想在于降低模塊之間的耦合度,提高模塊的內聚性,因此很容易使系統模塊之間功能獨立,這使得各個模塊的獨立運行變得更簡單,同時使得各個模塊之間的組合變得更容易,
常見設計模式及分類
設計模式按照功能和使用場景可以分為三大類:
- 創建型模式
- 結構性模式
- 行為型模式
具體分類見下圖:

后續單獨敘述每個模式的示例代碼及應用場景等,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/434528.html
標籤:AI
