大話設計模式感悟(4) 六大原則

2021-06-06 10:29:54 字數 983 閱讀 7230

三原則一法則是指:單一職責原則(srp),開放-封閉原則(opc),依賴倒轉原則,迪公尺特法則,黎克特制代換原則,介面隔離原則(lsp)。

1.單一職責原則:就乙個類而言,應該僅有乙個引起它變化的原因。就像現在的**由於職責過多,有照相,聽**,打**等等很多職責,這樣的話照相時相片的畫質沒有照相機的好,聽**也沒有音響的效果好。程式設計也一樣如果乙個類承擔的職責過多,就等於把這些職責耦合在一起乙個職責的變化可能會削弱或者抑制這個類完成其他職責能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。軟體設計真正要做的許多內容,就是發現職責並把那些職責相互分離。

2.開放-封閉原則:軟體實體(類、模組、函式等等)應該可以擴充套件,但是不可修改。對於擴充套件是開放的,對於更改是封閉的。這樣能使得軟體面臨需求更改時卻可以保持相對穩定,從而使得系統可以在第乙個版本以後不斷推出新的版本。

3.依賴倒轉原則:

抽象不應該依賴細節,細節應該依賴與抽象。

a.高層模組不應該依賴底層模組。兩個都應該依賴抽象。

b.抽象不應該依賴細節。細節應該依賴抽象。

抽象:就是指介面或者抽象類。

細節:實現類,可以被new出來的類。

4.黎克特制代換原則:子型別必須能夠替換掉它們的父型別。

5.迪公尺特法則:如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以通過第三者**這個呼叫。舉個例子:網購已經成為現在我們的大的趨勢,當我們看到一件衣服想問問衣服的大小,只要利用一些聊天軟體就可以解決這個問題。我們分析一下這個過程。我們詢問店家的時候我們和店家並不認識,而且也不是直接的對話,而是利用乙個聊天軟體這個第三方來與店家對話的。這就是迪公尺特法則的應用。

6.介面隔離原則:1、客戶端不應該依賴它不需要的介面。2、類間的依賴關係應該建立在最小的介面上。

大話設計模式 (六大原則)

設計模式六大原則分別是單一職責原則 spr 開放 封閉原則 黎克特制代換原則 lsp 依賴倒轉原則 迪公尺特原則 lod 和合成 聚合復用原則 carp 1.單一職責原則,就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑...

大話設計模式 六大原則

設計模式六大原則分別是單一職責原則 spr 開放 封閉原則 黎克特制代換原則 lsp 依賴倒轉原則 迪公尺特原則 lod 和合成 聚合復用原則 carp 1.單一職責原則,就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑...

設計模式六大原則

0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...