依賴導緻原則:
定義:
高層子產品不應該依賴低層子產品,兩者都應該依賴其抽象;抽象不應該依賴細節,細節應該依賴抽象.
作用:
通過面像接口(或抽象類)的程式設計來降低類間的耦合性.
使用原則:
1. 每個類盡量提供接口或抽象類,或者兩者都具備。
2. 變量的聲明類型盡量是接口或者是抽象類。
3. 任何類都不應該從具體類派生。
4. 使用繼承 (擴充功能)時盡量遵循裡氏替換原則。
正确例子:
客戶購買不同商品該怎麼實作呢?
商品需要抽象一個接口或着抽象類, 不同的商品繼承父類, 實作細節.
客戶購買類, 應該引用商品抽象類, 不應該引用具體實作類.
父類:
商品父類: 定義屬性 商品名, 價格。定義方法 購買函數, 傳回商品的名字和價格.
子類:
牙刷類、牙膏類: 重寫父類的商品名和價格.
客戶購買類:
定義方法 購買函數, 參數是商品父類, 調用其購買函數.