軟件開發之6大設計原則


1、單一職責原則

單一職責原則英文名稱是Single Responsibility Principle,簡稱SRP。

There should never be more than one reason for a calss to change.(有且只有一個原因引起類的變更。)

接口一定要做到單一職責,類的設計盡量做到只有一個原因引起變化。

2、里氏替換原則

里氏替換原則的英文名稱是Liskov Substitution Principle,簡稱SLP。

簡單的說,就是父類實現的方法子類一定都要實現,在一個地方調用父類可以完成的工作,替換成子類也一定能夠完成。

包含4層含義:子類必須完全實現父類的方法;子類可以擁有個性;覆蓋或實現父類方法時輸入參數可以被放大(參數類型的基類);輸出結果可以被縮小(參數類型的子類)。

3、依賴倒置原則

依賴倒置原則(Dependence Inversion Principle),簡稱DIP。

High level modules shoud not depend upon low level modules.Both shoud depend upon abstractions.Abstractions shoud not depend upon details.Details shoud depend upon abstractions.

簡單的解釋為:高層模塊不應該依賴底層模塊,二者應該依賴抽象類。抽象不應該依賴細節,細節應該依賴抽象。

依賴倒置原則是面向對象(OO)編程的精髓。

4、接口隔離原則

接口隔離原則英文縮寫ISP,全稱Interface Segregation Principle。

解決胖接口問題,把不同業務邏輯拆分成不同的接口,避免不必須的實現。

5、迪米特法則

迪米特法則(Law of Demeter,LoD),也稱為最小只是原則(Least Knowledge Principle,LKP)。

一個對象應該對其他對象有最少的了解(低耦合)。

6、開閉原則

Software entities like classes,modules and functions shoud be open for extension but closed for modifications.

一個軟件實體如類、模塊和函數應該對擴展開放,對修改關閉。

一個軟件實體應該通過擴展來實現變化,而不是通過修改已有的代碼來實現變化。


免責聲明!

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



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