物件導向設計原則

2021-09-25 22:42:05 字數 1123 閱讀 9703

內聚度

定義:

表示乙個應用程式的單個單元所負責的任務數量和多樣性。內聚與單個類或者單個方法單元相關。

好的軟體設計應該做到高內聚

理想狀態下,乙個**單元應該負責乙個內聚的任務,也就是說乙個任務可以看作是乙個邏輯單元。乙個方法應該實現乙個邏輯操作,乙個類應該代表一種型別的實體。

內聚原則背後的主要原因是重用。遵循該規則的另乙個優點是,當乙個應用程式的某些方面需要做出改變時,我們能夠在相同單元中找到所有相關的部分。

如果乙個系統單元只負責一件事情,就說明這個系統單元有很高的內聚度;如果乙個系統單元負責了很多不相關的事情,則說明這個系統單元是內聚度很低。

內聚度的簡單判斷方法

如果乙個方法可以用簡單的「動詞+名詞」的形式來命名,或者如果乙個類可以用準確的名詞來命名,那麼這樣的類或者方法就是內聚度較高的系統單元;反之,如果類或者方法的名字必須包含「和」、「或」等字樣才能準確反映其功能特性的話,這些類或方法的內聚度就一定不高。

耦合度耦合度表示類之間關係的緊密程度。

耦合度決定了變更乙個應用程式的容易程度。在緊密耦合的類結構中,更改乙個類會導致其它的類也隨之需要做出修改。顯然,這是我們在類設計時應該避免的,因為微小的修改會迅速波動影響到整個應用程式。此外,找到需要修改的所有的地方是必須的,實際上就使得修改變得困難並且耗費時間。而在鬆散耦合的系統中,我們可以更改乙個類,不需要修改其它類,而應用程式仍然能夠正常工作

設計原則名稱

設計原則簡介

單一職責原則

軟體實體對擴充套件是開放的,但對修改是關閉的,即在不修改乙個軟體實體的基礎上去擴充套件其功能。

黎克特制替換原則

在軟體系統中,乙個可以接受基類物件的地方必然可以接受乙個子類物件

依賴倒轉原則

要針對抽象層程式設計,而不要針對具體類程式設計

介面隔離原則

使用多個專門的介面來取代乙個統一的介面

組合/聚合復用原則

在系統中應該盡量多使用組合和聚合關聯關係,盡量少使用甚至不使用繼承關係

迪公尺特法則

乙個軟體實體對其他實體的引用越少越好,或者說如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用,而是通過引入乙個第三者發生間接互動

物件導向設計原則

oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...

物件導向設計原則

物件設計原則 物件導向設計原則 物件導向設計的基石是 開 閉 原則。開一閉 原則講的是 乙個軟體實體應當對擴充套件開放,對修改關閉。這個規則說的是,在設計乙個模組的時候,應當使這個模組可以在不被修改的前提下被擴充套件。從另外乙個角度講,就是所謂的 對可變性封裝原則 對可變性封裝原則 意味著兩點 1 ...

物件導向設計原則

oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...