設計模式原則

2022-09-19 23:33:11 字數 842 閱讀 8745

1.單一職責原則

定義:就乙個類而言,應該僅有乙個引起它變化的原因。

生活中例子:就像我們的手機一樣,他有很多的功能,可以玩遊戲、拍照、聽**等等。就單單拍照而言,他卻比不上照相機。這就引申到**,一塊**只做一件事。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。

2.開閉原則

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

特徵:對於擴充套件是開放的,對於更改是封閉的。

這樣講還是有寫籠統,通俗的講,可以理解為:你設計的時候,時刻要考慮,盡量讓這個類足夠好,寫好了就不要在修改了,如果新需求來,我們增加一些類就可以了,原來的**不要動。但是,不可以乙個類寫完之後是不變的,所以要在剛開始設計的時候,把那些可能會變化的點建立抽象類進行隔離。

好處:開閉原則是物件導向設計的核心,遵循這個原則,帶來可維護、可擴充套件、可復用、靈活性好。

3.依賴倒轉原則

定義:抽象不應該依賴細節,細節應該依賴於抽象,大白話就是,針對介面程式設計,不要對實現程式設計。(a.高層模組不應該依賴底層模組,兩個都應該是依賴抽象;b.抽象不應該依賴細節。細節應該依賴抽象。)

談談我的理解,我們寫的**依賴mysql資料庫jar包,如果想要換乙個資料庫,之前寫的方法全沒用了,但是如果我們是針對資料庫的介面來程式設計,子類實現不同就罷了。

就好比電腦一樣,cpu、記憶體、硬碟這些,廠家在設計的時候,會把相應的卡槽給設計出來,無論是什麼牌子的記憶體,只要卡槽對準就可以使用了。

4.黎克特制替換原則

定義:子型別必須能夠替換掉他們的父類。

一句話,就是面向介面程式設計。

設計模式 設計模式原則

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

設計模式 設計原則

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

設計模式 設計原則

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