1. 程式人生 > >面向對象設計的六大基本原則

面向對象設計的六大基本原則

單一職責原則 基類 高層 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)

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

面向對象設計的六大基本原則