物件導向原則之美

2021-09-25 14:27:23 字數 838 閱讀 9864

1、單一職責原則

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

如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其它職責的能力。

這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。

軟體設計真正要做的許多內容,就是發現職責並把那些職責相互分離。

2、開發--封閉原則

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

乙個是說「對與擴充套件是開放的」,另乙個是說「對於更改是封閉的」。

開放--封閉原則是物件導向設計的核心所在,遵循這個原則可以帶來物件導向技術所聲稱的巨大好處,也就是可維護、可擴充套件、靈活性好。開發人員應該僅對頻繁變化的那些部分做出抽象,然而,對於應用程式中的每個部分都刻意地進行抽象同樣不是乙個好主意,拒絕不成熟抽象和抽象本身一樣重要。

3、依賴倒置原則

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

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

說白了就是要針對介面程式設計,不要對實現程式設計。

4、黎克特制代換原則

乙個軟體實體如果使用的是乙個父類的話,那麼一定適用於其子類,而且它察覺不出父類物件和子類物件的區別,也就是,在軟體裡面,把父類都替換成它的子類,程式行為沒有變化。簡單來說,子型別必須能夠替換它們的父型別。

5、迪公尺特法則

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

物件導向之 開閉原則

我覺得開閉原則,就是對擴充套件開放對修改關閉,在我們寫 過程中,寫死 就是因為沒有遵循開閉原則來實現 就好比蓋房子一樣,地基就好比你的基礎類,地基上面的房子就好比你的實現類,這時候房主說在房子上加一些修飾導致你必須修改地基,如果你去改變地基,你上面的房子都會受到影響,這時候你就會修補房子,讓房子不會...

物件導向原則之黎克特制替換原則

一.簡稱 英文全稱是liskov substitution principle,縮寫是lsp 二.定義 如果對每乙個型別為s的物件o1,都有型別為t的物件o2,使得以t定義的所有程式p在所有的物件o1都替換成o2時,程式p的行為沒有發生變化,那麼型別s是型別t的子型別。簡單的說就是所有引用基類的地方...

物件導向原則

1.單一職責原則 srp 單一職責原則 srp 就乙個類而言,應該僅有乙個引起它變化的原因。也就是說,不要把變化原因各不相同的職責放在一起,因為不同的變化會影響到不相干的職責。再通俗一點地說就是,不該你管的事情你不要管,管好自己的事情就可以了,多管閒事害了自己也害了別人。在軟體設計中,如果乙個類承擔...