一句話總結設計模式六大原則
一談到設計模式,相信每一個程式設計師都會用到,有時候即使你沒有刻意的去使用,但是在構建程式碼時也都無形之中用到了它們。因為它們是正確的,是程式碼界的真理。今天在網上搜了搜設計模式,無意之中看到了一篇關於設計模式六大原則的文章,寫的很不錯,開一帖總結整理一下。
本文略去一些舉例,但就以作者個人的見解進行總結,如果之前沒有了解過設計模式六大原則的人,建議去看原文。好了,下面進入正題。
一 單一職責原則
單一職責原則就是要求我們一個類或一個最小模組只幹一件事,將任務功能最小化。隨著需求的擴充,我們有時候會習慣性地拓展原有類,久而久之,類會變得龐大起來,最終修改維護起來變得非常困難。
二 里氏替換原則
當我們進行類的繼承時,子類可以增加方法,而不應該修改父類的方法。
三 依賴倒置原則
依賴倒置原則告訴我們高階模組不該依賴低階模組,而且應該通過介面建立彼此之間的依賴關係。有時候高階模組會用到很多低階模組的方法,如果直接建立依賴關係,則會增加高階模組呼叫低階模組方法數量的成本。如果建立高階模組呼叫介面的方法,每個低階模組的方法實現該介面,則可以實現一次呼叫,可以應對多種低階模組的方法呼叫。
四 介面隔離原則
介面的設計應當保持一個適當的大小,減少依賴建立時,不得不實現沒有用到的方法。
五 迪米特法則
一個類應該保持對其他物件最少的瞭解。在類與類之間有耦合關係時,我們應該儘量減少耦合,如需用到其他類的成員變數或方法時,儘量有其他類直接提供,而不應該維持控制在呼叫類中。複雜的邏輯應當封裝在類內部,對外只提供公共方法呼叫結果。
六 開閉原則
一個軟體實體如類,模組和函式應當對擴充套件開放,對修改關閉。開閉原則是六大原則的終極體現,將前五個原則做到了,開閉原則自然就得到了實現。核心思想是當我們開發一個新功能和需求時,不應該影響到原有的功能邏輯,導致新功能的開發對舊功能的結果有影響。
總的來說,在程式設計時,我們應該將程式功能最小化,每個類只幹一件事。若有類似功能基礎之上新增新功能,則要合理使用繼承。對於多方法的呼叫,要會運用介面,同時合理設定介面功能與數量。最後類與類之間要做到低耦合高內聚。