單一職責就是乙個類只有乙個功能或職責。
如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會消弱或者抑制這個類完成其他職責的能力。這種耦合回導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。
單一職責原則:就乙個類而言,應該僅有乙個引起它變化的原因。
軟體設計真正要做的許多內容,就是發現職責並把那些職責相互分離。
如果你能夠想到多於乙個的動機去改變乙個類。那麼這個類就具有多於乙個的職責。
開放封閉原則是物件導向設計的核心所在。我們應該把專案中能頻繁做出變化的那部分做出抽象。如果我們設計的夠好,那麼帶給我的好處,就是可維護,可擴充套件,可復用,靈活性好。
但是我們拒絕對每一部分進行刻意的抽象。
開放封閉原則:是說軟體實體(類,模組,函式等等)應該可以擴充套件,但是不可以修改。
我們應該做到我們的設計對於擴充套件開放,對於更改封閉。但是絕對的修改關閉是不可能的。只能說盡量避免。
依賴倒置(依賴倒轉)原則:其實可以說是物件導向設計的標誌。
依賴倒置原則原文解釋是抽象不依賴於細節,細節應該依賴於抽象。就是針對介面程式設計,不要對實現程式設計。
依賴倒置原則:高層模組不應該依賴底層模組,兩個都應該依賴抽象。
抽象不應該依賴於細節,細節應該依賴於抽象。
倒置:就是面向過程的開發時,為了使得常用的**可以復用。一般會把這些常用的**寫成許許多多函式的程式庫,這樣我們在做新專案時,去呼叫這些底層的函式就可以了。比如:我們在做的專案大多要訪問資料庫,所以我們就把訪問資料庫的**寫成函式,每次做新專案時就去呼叫這些函式。也就是高層模組依賴底層模組。
黎克特制代換原則:乙個軟體實體如果使用的是乙個父類的話,那麼一定適用於其子類,而且它察覺不出父類和子類物件的區別。也就是說,在軟體裡面,把父類都替換成它的子類,程式的行為沒有變化。
黎克特制替換原則:子型別必須你能夠替換它們的父型別。
只有當子類可以替換掉父類,軟體單位的功能不受到影響時,父類才能真正被復用,而子類也能夠在父類的基礎上增加新的行為。
設計模式 設計模式原則
1 單一職責原則 srp 乙個類應當只有乙個引起其變化的原因。使用單一職責原則的好處有 1 類的複雜性降低 2 可讀性提高 3 可維護性提高 4 變更引起的風險降低 2 黎克特制替換原則 lsp 在使用父類的地方,可以使用其子類替換。黎克特制替換原則的含義 1 子類必須完全實現父類的方法 2 子類可...
設計模式 設計原則
1.單一職責原則 single responsibility principle,簡稱srp 就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到...
設計模式 設計原則
description 這是本人學習 設計模式之禪 的筆記 設計原則 一 單一職責 應該有且僅有乙個原因讓乙個類發生變更。這個原則目的是要讓介面的職責分明,結構清晰。優點 類的複雜度降低,可讀性提高,變更風險低,可維護性提高。二 黎克特制替換 通俗一點就是父類存在的地方,可以替換為子類,而程式的行為...