1. 程式人生 > >[Java] [設計模式] [ 設計模式的六大基本原則 ]

[Java] [設計模式] [ 設計模式的六大基本原則 ]

六大原則

單一職責原則 單一原則很簡單,就是將一組相關性很高的函式、資料封裝到一個類中。換句話說,一個類應該有職責單一。 開閉原則 開閉原則理解起來也不復雜,就是一個類應該對於擴充套件是開放的,但是對於修改是封閉的。在一開始編寫程式碼時,就應該注意儘量通過擴充套件的方式實現新的功能,而不是通過修改已有的程式碼實現,否則容易破壞原有的系統,也可能帶來新的問題,如果發現沒辦法通過擴充套件來實現,應該考慮是否是程式碼結構上的問題,通過重構等方式進行解決。 里氏替換原則 所有引用基類的地方必須能透明地使用其子類物件。本質上就是說要好好利用繼承和多型,從而以父類的形式來宣告變數(或形參),為變數(或形參)賦值任何繼承於這個父類的子類。 依賴倒置原則

依賴倒置主要是實現解耦,使得高層次的模組不依賴於低層次模組的具體實現細節。 怎麼去理解它呢,我們需要知道幾個關鍵點: 高層模組不應該依賴底層模組(具體實現),二者都應該依賴其抽象(抽象類或介面) 抽象不應該依賴細節 細節應該依賴於抽象 在我們用的Java語言中,抽象就是指介面或者抽象類,二者都是不能直接被例項化;細節就是實現類,實現介面或者繼承抽象類而產生的類,就是細節。使用Java語言描述就是:各個模組之間相互傳遞的引數宣告為抽象型別,而不是宣告為具體的實現類; 介面隔離原則 類之間的依賴關係應該建立在最小的介面上。其原則是將非常龐大的、臃腫的介面拆分成更小的更具體的介面。 迪米特原則 一個物件應該對其他的物件有最少的瞭解. 假設類A實現了某個功能,類B需要呼叫類A的去執行這個功能,那麼類A應該只暴露一個函式給類B,這個函式表示是實現這個功能的函式,而不是讓類A把實現這個功能的所有細分的函式暴露給B。