1、單一職責原則
定義:乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中。
單一職責原則是實現高內聚、低耦合的指導方針,是最簡單卻最難運用的原則,需要設計人員發現類的不同職責並將其分離
2、開閉原則
定義:軟體實體應當對擴充套件開放,對修改關閉。
指軟體實體應盡量在不修改原有**的情況下進行擴充套件。
3、黎克特制替換原則
定義:所有引用基類的地方必須能透明地使用其子類的物件。
黎克特制替換原則表明,在軟體中將乙個基類物件替換成它的子類物件,程式將不會產生任何錯誤和異常,反過來則不成立。
在運用黎克特制替換原則時,應該將父類設計為抽象類或者介面,讓子類繼承父類或實現父類介面,並實現在父類中宣告的方法。
4、依賴倒轉原則
定義:高層模組不應該依賴底層模組,它們都應該依賴抽象。抽象不應該依賴於細節,細節應該依賴於抽象。
依賴倒轉原則要求:要針對介面程式設計,不要針對實現程式設計。
5、介面隔離原則
定義:客戶端不應該依賴那些它不需要的介面。
在使用介面隔離原則的時候,需要注意控制介面的粒度,介面不能太小,如果太小會導致系統中介面氾濫,不利於維護;介面也不能太大,太大的介面將違背介面隔離原則,靈活性較差,使用起來不方便。
6、合成復用原則
定義:優先使用物件組合,而不是繼承來達到復用的目的。
一般而言,如果兩個類之間是"has-a"關係應使用組合或聚合,如果是"is-a"關係可使用繼承。
1、單一職責原則
定義:乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中。
單一職責原則是實現高內聚、低耦合的指導方針,是最簡單卻最難運用的原則,需要設計人員發現類的不同職責並將其分離
2、開閉原則
定義:軟體實體應當對擴充套件開放,對修改關閉。
指軟體實體應盡量在不修改原有**的情況下進行擴充套件。
3、黎克特制替換原則
定義:所有引用基類的地方必須能透明地使用其子類的物件。
黎克特制替換原則表明,在軟體中將乙個基類物件替換成它的子類物件,程式將不會產生任何錯誤和異常,反過來則不成立。
在運用黎克特制替換原則時,應該將父類設計為抽象類或者介面,讓子類繼承父類或實現父類介面,並實現在父類中宣告的方法。
4、依賴倒轉原則
定義:高層模組不應該依賴底層模組,它們都應該依賴抽象。抽象不應該依賴於細節,細節應該依賴於抽象。
依賴倒轉原則要求:要針對介面程式設計,不要針對實現程式設計。
5、介面隔離原則
定義:客戶端不應該依賴那些它不需要的介面。
在使用介面隔離原則的時候,需要注意控制介面的粒度,介面不能太小,如果太小會導致系統中介面氾濫,不利於維護;介面也不能太大,太大的介面將違背介面隔離原則,靈活性較差,使用起來不方便。
6、合成復用原則
定義:優先使用物件組合,而不是繼承來達到復用的目的。
一般而言,如果兩個類之間是"has-a"關係應使用組合或聚合,如果是"is-a"關係可使用繼承。
物件導向設計原則
oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...
物件導向設計原則
物件設計原則 物件導向設計原則 物件導向設計的基石是 開 閉 原則。開一閉 原則講的是 乙個軟體實體應當對擴充套件開放,對修改關閉。這個規則說的是,在設計乙個模組的時候,應當使這個模組可以在不被修改的前提下被擴充套件。從另外乙個角度講,就是所謂的 對可變性封裝原則 對可變性封裝原則 意味著兩點 1 ...
物件導向設計原則
oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...