Author:ProZoom
Hobby:愛折騰邓厕、愛思考姿染,想靜靜的ProZoom
Github --- 簡書 --- CSDN --- 關(guān)于我
六大基本原則
1. 單一職責原則
全稱:Single Responsibility Principle
縮寫:SRP
定義:一個類應(yīng)該有且只有一個變化的原因(There should never be more than one reason for a class to change.)
定義解讀:《UNIX編程藝術(shù)》中提到的一句話和這篇文章很貼切:Do one thing,and do it well。通俗的說养涮,即一個類只負責一項職責
2. 開閉原則
全稱:Open Close Principle
縮寫:OCP
定義:一個軟件實體(如類治专、模塊褥傍、函數(shù))應(yīng)當對擴展開放沼撕,對修改關(guān)閉宋雏。
定義解讀:
3. 里氏替換原則
全稱:Liskov Substitution principle
縮寫:LSP
定義:任何一個基類可以出現(xiàn)地方,子類一定可以出現(xiàn)务豺,并且不會產(chǎn)生任何錯誤(注意:必須是父子關(guān)系)
定義解讀:第一個注意:里氏替換原則核心就是抽象(繼承和接口)每一個子類都會擁有父類的方法屬性
第二個注意:開閉原則和里氏替換原則生死相依磨总,通過里氏替換原則達到了對外開放,對修改關(guān)閉
里氏替換原則通俗的來講就是:子類可以擴展父類的功能笼沥,但不能改變父類原有的功能蚪燕。它包含以下4層含義:
- 子類可以實現(xiàn)父類的抽象方法招狸,但不能覆蓋父類的非抽象方法。
- 子類中可以增加自己特有的方法邻薯。
- 當子類的方法重載父類的方法時,方法的前置條件(即方法的形參)要比父類方法的輸入?yún)?shù)更寬松乘凸。
- 當子類的方法實現(xiàn)父類的抽象方法時厕诡,方法的后置條件(即方法的返回值)要比父類更嚴格。
4. 依賴導致原則
全稱:Dependence Inversion Principle
縮寫:DIP
定義:高層次模塊不依賴于低層次模塊實現(xiàn)細節(jié)
定義解讀:說白了营勤,依賴于抽象灵嫌,不依賴具體實現(xiàn)指導子類實現(xiàn)功能細節(jié),依賴倒置原則的核心就是要我們面向接口編程葛作,理解了面向接口編程寿羞,也就理解了依賴倒置。
5. 接口隔離原則
全稱:Interface Segregation Principle
縮寫:ISP
定義:類與類之間的依賴關(guān)系應(yīng)該是建立在最小的接口上
6. 迪米特原則--最少知識原則
全稱:Least Knowledge Principle
縮寫:LKP
定義:一個對象應(yīng)該對其他的對象有最少的了解
設(shè)計原則總結(jié)
六大基本原則都是基于抽象(抽象類和接口)