物件導向設計的六大原則

2022-02-02 07:36:04 字數 1011 閱讀 1959

1)單一職責原則:

乙個合理的類,應該僅有乙個引起它變化的原因,即單一職責,就是設計的這個類功能應該只有乙個;

優點:消除耦合,減小因需求變化引起**僵化。

2)開-閉原則:

對擴充套件開放,對修改關閉

優點:降低了程式各部分之間的耦合性,其適應性、靈活性、穩定性都比較好。當已有軟體系統需要增加新的功能時,不需要對作為系統基礎的抽象層進行修改,只需要在原有基礎上附加新的模組就能實現所需要新增的功能。增加的新模組對原有的模組完全沒有影響或影響很小,這樣就無須為原有模組進行重新測試。

3)黎克特制代換原則:

很嚴格的原則,規則是「子類必須能夠替換基類,否則不應當設計為其子類。」也就是說,子類只能去擴充套件基類,而不是隱藏或覆蓋基類。任何基類可以出現的地方,子類一定可以出現。

優點:可以很容易的實現同一父類下各個子類的互換,而客戶端可以毫不察覺。

4)依賴倒換原則:

「設計要依賴於抽象而不是具體化」。換句話說就是設計的時候我們要用抽象來思考,而不是一上來就開始劃分我需要哪些哪些類,因為這些是具體。

優點:人的思維本身實際上就是很抽象的,我們分析問題的時候不是一下子就考慮到細節,而是很抽象的將整個問題都構思出來,所以面向抽象設計是符合人的思維的。另外這個原則會很好的支援(開閉原則)ocp,面向抽象的設計使我們能夠不必太多依賴於實現,這樣擴充套件就成為了可能。

5)介面隔離原則:

「將大的介面打散成多個小介面」,讓系統解耦,從而容易重構,更改和重新部署。

優點:會使乙個軟體系統功能擴充套件時,修改的壓力不會傳到別的物件那裡。

6)迪公尺特法則或最少知識原則:

這個原則首次在demeter系統中得到正式運用,所以定義為迪公尺特法則。它講的是「乙個物件應當盡可能少的去了解其他物件」。即 乙個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模組相對獨立。

優點:消除耦合。

物件導向 六大原則

舉乙個簡單的例子,登入功能。一般登入需要包括幾個基本的功能 1.登入頁面 2.接受使用者輸入 3.提交使用者輸入資料到服務端驗證 4.返回驗證結果並提示給使用者 按照單一原則我們就可以將登入功能拆分成兩個類,登入頁類和網路請求類。其實因為單一原則並不是很容易劃分,很多時候需要根據個人經驗和實際情況 ...

物件導向六大原則

先來看物件導向的六大原則吧 一 單一職責原則 二 開閉原則 三 黎克特制替換原則 四 依賴倒置原則 五 介面隔離原則 六 迪公尺特原則class imageloader 就像上面的 一樣我們把所有功能寫到乙個類中,隨著我們專案越來越大功能也越來越大,會導致這個類很龐大也很脆弱。這時候可以拆分出來每個...

物件導向六大原則

引用一段經典的話,武學的最高境界是無招勝有招 在程式設計領域,設計模式就可以認為是招數,而真正的內功心法是設計原則 下面講述一下程式設計中應該遵循的基本原則 乙個類只負責一種職責,只有這種職責的改變會導致這個類的變更。繞口一點的正統說法 不要存在多於乙個原因導致類變更 假如 類t 負責有兩種職責 p...