面向對象設計原則


1、單一職責原則
定義:
一個對象應該只包含單一的職責,並且該職責被完整地封裝在一個類中。
單一職責原則是實現高內聚、低耦合的指導方針,是最簡單卻最難運用的原則,需要設計人員發現類的不同職責並將其分離

2、開閉原則
定義:
軟件實體應當對擴展開放,對修改關閉。
指軟件實體應盡量在不修改原有代碼的情況下進行擴展。

3、里氏替換原則
定義:
所有引用基類的地方必須能透明地使用其子類的對象。
里氏替換原則表明,在軟件中將一個基類對象替換成它的子類對象,程序將不會產生任何錯誤和異常,反過來則不成立。
在運用里氏替換原則時,應該將父類設計為抽象類或者接口,讓子類繼承父類或實現父類接口,並實現在父類中聲明的方法。

4、依賴倒轉原則
定義:
高層模塊不應該依賴底層模塊,它們都應該依賴抽象。抽象不應該依賴於細節,細節應該依賴於抽象。
依賴倒轉原則要求:要針對接口編程,不要針對實現編程。

5、接口隔離原則
定義:
客戶端不應該依賴那些它不需要的接口。
在使用接口隔離原則的時候,需要注意控制接口的粒度,接口不能太小,如果太小會導致系統中接口泛濫,不利於維護;接口也不能太大,太大的接口將違背接口隔離原則,靈活性較差,使用起來不方便。

6、合成復用原則
定義:
優先使用對象組合,而不是繼承來達到復用的目的。
一般而言,如果兩個類之間是"Has-A"關系應使用組合或聚合,如果是"Is-A"關系可使用繼承。

7、迪米特法則-又稱最少知識原則
定義:
每一個軟件單位對其他的單位都只有最少的知識,而且局限於那些與本單位密切相關的軟件單位。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM