物件導向的設計原則

2022-07-07 15:42:12 字數 1453 閱讀 3228

1、單一職責原則

定義:乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中。

單一職責原則是實現高內聚、低耦合的指導方針,是最簡單卻最難運用的原則,需要設計人員發現類的不同職責並將其分離

2、開閉原則

定義:軟體實體應當對擴充套件開放,對修改關閉。

指軟體實體應盡量在不修改原有**的情況下進行擴充套件。

3、黎克特制替換原則

定義:所有引用基類的地方必須能透明地使用其子類的物件。

黎克特制替換原則表明,在軟體中將乙個基類物件替換成它的子類物件,程式將不會產生任何錯誤和異常,反過來則不成立。

在運用黎克特制替換原則時,應該將父類設計為抽象類或者介面,讓子類繼承父類或實現父類介面,並實現在父類中宣告的方法。

4、依賴倒轉原則

定義:高層模組不應該依賴底層模組,它們都應該依賴抽象。抽象不應該依賴於細節,細節應該依賴於抽象。

依賴倒轉原則要求:要針對介面程式設計,不要針對實現程式設計。

5、介面隔離原則

定義:客戶端不應該依賴那些它不需要的介面。

在使用介面隔離原則的時候,需要注意控制介面的粒度,介面不能太小,如果太小會導致系統中介面氾濫,不利於維護;介面也不能太大,太大的介面將違背介面隔離原則,靈活性較差,使用起來不方便。

6、合成復用原則

定義:優先使用物件組合,而不是繼承來達到復用的目的。

一般而言,如果兩個類之間是"has-a"關係應使用組合或聚合,如果是"is-a"關係可使用繼承。

1、單一職責原則

定義:乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中。

單一職責原則是實現高內聚、低耦合的指導方針,是最簡單卻最難運用的原則,需要設計人員發現類的不同職責並將其分離

2、開閉原則

定義:軟體實體應當對擴充套件開放,對修改關閉。

指軟體實體應盡量在不修改原有**的情況下進行擴充套件。

3、黎克特制替換原則

定義:所有引用基類的地方必須能透明地使用其子類的物件。

黎克特制替換原則表明,在軟體中將乙個基類物件替換成它的子類物件,程式將不會產生任何錯誤和異常,反過來則不成立。

在運用黎克特制替換原則時,應該將父類設計為抽象類或者介面,讓子類繼承父類或實現父類介面,並實現在父類中宣告的方法。

4、依賴倒轉原則

定義:高層模組不應該依賴底層模組,它們都應該依賴抽象。抽象不應該依賴於細節,細節應該依賴於抽象。

依賴倒轉原則要求:要針對介面程式設計,不要針對實現程式設計。

5、介面隔離原則

定義:客戶端不應該依賴那些它不需要的介面。

在使用介面隔離原則的時候,需要注意控制介面的粒度,介面不能太小,如果太小會導致系統中介面氾濫,不利於維護;介面也不能太大,太大的介面將違背介面隔離原則,靈活性較差,使用起來不方便。

6、合成復用原則

定義:優先使用物件組合,而不是繼承來達到復用的目的。

一般而言,如果兩個類之間是"has-a"關係應使用組合或聚合,如果是"is-a"關係可使用繼承。

物件導向設計原則

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

物件導向設計原則

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

物件導向設計原則

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