1. 程式人生 > >一句話總結設計模式六大原則

一句話總結設計模式六大原則

一談到設計模式,相信每一個程式設計師都會用到,有時候即使你沒有刻意的去使用,但是在構建程式碼時也都無形之中用到了它們。因為它們是正確的,是程式碼界的真理。今天在網上搜了搜設計模式,無意之中看到了一篇關於設計模式六大原則的文章,寫的很不錯,開一帖總結整理一下。

本文略去一些舉例,但就以作者個人的見解進行總結,如果之前沒有了解過設計模式六大原則的人,建議去看原文。好了,下面進入正題。

一 單一職責原則

單一職責原則就是要求我們一個類或一個最小模組只幹一件事,將任務功能最小化。隨著需求的擴充,我們有時候會習慣性地拓展原有類,久而久之,類會變得龐大起來,最終修改維護起來變得非常困難。

二 里氏替換原則

當我們進行類的繼承時,子類可以增加方法,而不應該修改父類的方法。

有時候子類會用到父類的具體方法,但是如果不慎重寫修改了父類的方法,會導致程式執行結果與我們期待的有偏差。在繼承時,我們應該注意儘量不修改父類已經實現的方法,可以通過增加新方法來實現新需求。

三 依賴倒置原則

依賴倒置原則告訴我們高階模組不該依賴低階模組,而且應該通過介面建立彼此之間的依賴關係。有時候高階模組會用到很多低階模組的方法,如果直接建立依賴關係,則會增加高階模組呼叫低階模組方法數量的成本。如果建立高階模組呼叫介面的方法,每個低階模組的方法實現該介面,則可以實現一次呼叫,可以應對多種低階模組的方法呼叫。

四 介面隔離原則

介面的設計應當保持一個適當的大小,減少依賴建立時,不得不實現沒有用到的方法。

在我們設計實現介面時,有時候會因需求的增加而不斷擴充介面內的方法,當依賴關係複雜時,會出現多個模組依賴同一介面,但是卻不需要實現介面內的全部方法,這樣就造成了浪費。我們應該將介面的設計維持在一個合理的大小,既保證依賴的使用不會實現無用方法,又不會變成介面過多導致大量的實現。

五 迪米特法則

一個類應該保持對其他物件最少的瞭解。在類與類之間有耦合關係時,我們應該儘量減少耦合,如需用到其他類的成員變數或方法時,儘量有其他類直接提供,而不應該維持控制在呼叫類中。複雜的邏輯應當封裝在類內部,對外只提供公共方法呼叫結果。

六 開閉原則

一個軟體實體如類,模組和函式應當對擴充套件開放,對修改關閉。開閉原則是六大原則的終極體現,將前五個原則做到了,開閉原則自然就得到了實現。核心思想是當我們開發一個新功能和需求時,不應該影響到原有的功能邏輯,導致新功能的開發對舊功能的結果有影響。

總的來說,在程式設計時,我們應該將程式功能最小化,每個類只幹一件事。若有類似功能基礎之上新增新功能,則要合理使用繼承。對於多方法的呼叫,要會運用介面,同時合理設定介面功能與數量。最後類與類之間要做到低耦合高內聚。