面向?qū)ο笤O(shè)計原則
2022-03-27
- 相關(guān)推薦
單一職責(zé)原則:
定義:
一個對象應(yīng)該只包含單一的職責(zé),并且該職責(zé)被完整地封裝在一個類中。
單一職責(zé)原則是實現(xiàn)高內(nèi)聚、低耦合的指導(dǎo)方針,是最簡單卻最難運用的原則,需要設(shè)計人員發(fā)現(xiàn)類的不同職責(zé)并將其分離
擴展資料
開閉原則:
定義:
軟件實體應(yīng)當(dāng)對擴展開放,對修改關(guān)閉。
指軟件實體應(yīng)盡量在不修改原有代碼的情況下進行擴展。
里氏替換原則:
定義:
所有引用基類的地方必須能透明地使用其子類的對象。
里氏替換原則表明,在軟件中將一個基類對象替換成它的子類對象,程序?qū)⒉粫a(chǎn)生任何錯誤和異常,反過來則不成立。
在運用里氏替換原則時,應(yīng)該將父類設(shè)計為抽象類或者接口,讓子類繼承父類或?qū)崿F(xiàn)父類接口,并實現(xiàn)在父類中聲明的方法。
依賴倒轉(zhuǎn)原則:
定義:
高層模塊不應(yīng)該依賴底層模塊,它們都應(yīng)該依賴抽象。抽象不應(yīng)該依賴于細節(jié),細節(jié)應(yīng)該依賴于抽象。
依賴倒轉(zhuǎn)原則要求:要針對接口編程,不要針對實現(xiàn)編程。
接口隔離原則:
定義:
客戶端不應(yīng)該依賴那些它不需要的接口。
在使用接口隔離原則的時候,需要注意控制接口的粒度,接口不能太小,如果太小會導(dǎo)致系統(tǒng)中接口泛濫,不利于維護;接口也不能太大,太大的接口將違背接口隔離原則,靈活性較差,使用起來不方便。
合成復(fù)用原則:
定義:
優(yōu)先使用對象組合,而不是繼承來達到復(fù)用的目的。
一般而言,如果兩個類之間是"Has-A"關(guān)系應(yīng)使用組合或聚合,如果是"Is-A"關(guān)系可使用繼承。
迪米特法則-又稱最少知識原則:
定義:
每一個軟件單位對其他的單位都只有最少的知識,而且局限于那些與本單位密切相關(guān)的軟件單位。