抽象不應該依賴謝姐,細節應該依賴于抽象:針對接口程式設計,不要對實作程式設計。例如電腦内的記憶體壞了不會影響到其它子產品,而且什麼品牌都可以插入記憶體插槽,而不僅限于某個品牌的記憶體條。
A。高層子產品不應該依賴底層子產品,兩個都應該依賴抽象。
B。抽象不應該依賴細節,細節應該依賴抽象。
裡氏代換原則(LSP):子類型必須能夠替換掉它們的父類型。
隻有當子類可以替換掉父類,軟體機關的功能不受到影響時,父類才能真正被複用,而子類也能夠在父類的基礎上增加新的行為。
依賴倒轉其實可以說是面向對象設計的辨別,用哪種語言來編寫程式不重要,如果編寫時考慮的都是如何針對抽象程式設計而不是細節程式設計,即程式中所有的依賴關系都是終止于抽象類或者接口,那就是面向對象的設計,反之那就是過程化的設計。