設計模式 原則

2021-06-22 13:39:45 字數 934 閱讀 4575

原則是一些準則,這些準則有益於我們在該領域的發展。許多領域都有原則,比如我們踢足球快攻時,最好用腳而不是用頭顛著球快攻,雖然這不犯規;籃球方面呢,組織一次進攻時,最好由後衛發起;韓劇呢,他們的原則是車禍、有錢、治不了。這些原則是前人經過長期的探索總結出來的,它們能幫助我們在更簡單,效率更高的完成想要達成的目標。但是原則相對經驗來說更嚴肅,它強調如果你不這麼做,可能會面臨很麻煩的後果。

設計模式中的幾大原則也是如此,是物件導向設計思想的高度概括。它們分別是單一職責原則、開放-封閉原則、依賴倒轉原則、黎克特制代換原則、迪公尺特原則。

單一職責原則

就乙個類而言,應該僅有乙個引起它變化的原因。就是乙個類最好只有乙個職責,乙個類如果承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。

開放-封閉原則

是說軟體實體(類、模組、函式等等)應該可以擴充套件,但是不可修改。就是對於擴充套件是開放的,對於修改是封閉的。但是修改是不可避免的,我們可以猜測出最有可能發生的變化種類,然後構造抽象來隔離那些變化。這樣可以是程式可維護、可擴充套件、可復用、靈活性好。

依賴倒轉原則

1.高策模組不應該依賴底層模組。兩個都應該依賴抽象。 2. 抽象不應該依賴細節。細節應該依賴抽象。總的來說就是降低底層和高層的耦合性,不管你是底層高層,都是可替換的,不是一損俱損的關係。要注意介面的建立。

黎克特制代換原則

子型別必須能夠替換掉他們的父型別。這使繼承復用成為了可能,只有當子類可以替換掉父類,軟體單位的功能不受到影響是,父類才能真正被服用,而子類也能夠在服了裡的基礎上增加新的行為。

迪公尺特原則

如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。如果其中乙個類呼叫另乙個類的某乙個方法的話,可以通過第三者**這個呼叫。

這幾大原則是物件導向思想的精華,貫穿在每個具體的設計模式中!

設計模式 設計模式原則

1 單一職責原則 srp 乙個類應當只有乙個引起其變化的原因。使用單一職責原則的好處有 1 類的複雜性降低 2 可讀性提高 3 可維護性提高 4 變更引起的風險降低 2 黎克特制替換原則 lsp 在使用父類的地方,可以使用其子類替換。黎克特制替換原則的含義 1 子類必須完全實現父類的方法 2 子類可...

設計模式 設計原則

1.單一職責原則 single responsibility principle,簡稱srp 就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到...

設計模式 設計原則

description 這是本人學習 設計模式之禪 的筆記 設計原則 一 單一職責 應該有且僅有乙個原因讓乙個類發生變更。這個原則目的是要讓介面的職責分明,結構清晰。優點 類的複雜度降低,可讀性提高,變更風險低,可維護性提高。二 黎克特制替換 通俗一點就是父類存在的地方,可以替換為子類,而程式的行為...