面向對象設計的六大基本原則
阿新 • • 發佈:2017-11-17
單一職責原則 基類 高層 style 擴展 定義 必須 span isp
一、單一職責原則(SRP Single Responsibility Principle)
不要存在多於一個導致類變更的原因。通俗來說,即一個類只負責一項職責。
二、裏氏替換原則(LSP Liskov Substitution Principle)
1. 如果對每一個類型為T1的 對象o1,都有類型為T2的對象o2,使得以T1定義的所有程序P在所有的對象o1都替換成o2時,程序P的行為沒有發生變化,那麽類型T2是類型T1的子類型。
2. 所有引用基類的地方必須能透明地使用其子類對象。
三、依賴倒置原則(DIP Dependence Inversion Principle)
高層模塊不應該依賴底層模塊,二者都應該依賴其抽象;抽象不應該依賴細節,細節應該依賴抽象;
要針對接口編程,不要針對實現編程。
四、 接口隔離原則(ISP Interface Segregation Principle)
客戶端不應該依賴它不需要的接口;一個類對另一個類的依賴應該建立在最小的接口上。
五、迪米特法則(LOD Law of Demeter)
一個對象應該對其他對象保持最少的了解。
只與你直接的朋友通信,而避免和陌生人通信。
六、開閉原則(OCP Open-Close Principle)
一個軟件實體如類、模塊和函數應該對擴展開放,對修改關閉。
面向對象設計的六大基本原則