(2)設計模式遵循的六大原則

2022-04-16 06:16:14 字數 865 閱讀 4819

定義:單一職責原則(srp),就乙個類而言,應該僅有乙個引起它變化的原因。

單一職責原則是實現高內聚、低耦合的指導方針;它需要開發人員發現類的不同職責並將其分離。難點就在於怎麼分離?那就是如果你能夠想到多於乙個的動機去改變乙個類,那麼這個類就具多餘乙個的職責。

定義:軟體實體(類、模組、函式等等),應該可以擴充套件,但是不可以修改。

無論模組是多麼的「封閉」,都會存在一些無法對之封閉的變化。既然不可能完全封閉,設計人員必須對於他設計的模組應該對哪種變化封閉做出選擇。他必須先猜測出最有可能發生的變化種類,然後構造抽象來隔離那些變化。

由於我們不會**未來,所以在我們最初編寫**時,假設變化不會發生。當變化發生時,我們就建立抽象來隔離以後發生的同類變化。

定義:1、高層模組不應該依賴低層模組。兩個都應該依賴抽象。

2、抽象不應該依賴細節,細節應該依賴抽象。

為什麼叫倒轉?就是開發時,為了使得常用**可以復用,一般都會把這些常用**寫成許多函式庫,以便後面做新專案時,去呼叫這些底層的函式。這就叫做高層模組依賴低層模組。看起來沒什麼事,但是如果需要更換資料庫或者儲存資訊方式,這時就會有問題。底層模組更換影響到高層模組,也會影響到其他模組。

定義:子型別必須能夠替換掉他們的父型別(子類可以擴充套件父類,但是不能修改父類已有的方法)。

定義:1、客戶端不應該依賴它不需要的介面

2、乙個類對另乙個類的依賴應該建立在最小的介面上。

介面要單一功能,不要有過多的方法。

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

其根本思想是:強調類之間的松耦合。類之間的耦合越弱,越有利於復用,乙個處在若耦合的類被修改,不會對有關係的類造成波及。

設計模式六大原則

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

設計模式六大原則

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

設計模式六大原則

參考文章 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。開閉原則 open closed principle,ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。...