依賴倒置原則的理解


1.問題由來:類A直接依賴類B,假如要將類A改成依賴類C,則必須經過修改類A的代碼來達成。這種場景下,類A通常是高層模塊,負責複雜的業務邏輯;類B和類C是低層模塊,負責基本的原子操做;假如修改類A,會給程序帶來沒必要要的風險。編程

2.解決方案:將類A修改成依賴接口I,類B和類C各自實現接口I,類A經過接口I間接與類B或者類C發生聯繫,則會大大下降修改類A的概率。(其實換成接口,可能下面的不少代碼都不須要變了,若是仍是A,B的對象實例,那麼下面的代碼可能會發生修改。)設計模式

3.依賴倒置原則針對的是接口編程。框架

4.對於容易發生的變化的地方,提供接口,接口具備高度抽象性,讓其進行接收,這樣就能夠極大的減小修改高層模塊中的代碼。ide

上面的僅僅是純概念自己的理解:spa

如下是貨真價實的理解。設計

繼承的做用是複用前人寫的代碼orm

多態的做用是前人寫好的框架,該框架能夠調用後來人寫好的代碼。這正是設計模式的精髓。想一想也是。(這就是可擴展,這是否是很厲害)。對象

舉例說明:繼承

假設計算機有3大重要部件:cpu,硬盤,內存條接口

爲了可以讓計算機可以和三大部件進行解耦合,意思就是計算機能夠安裝任何型號的cpu,硬盤,內存條。設計原則就是讓計算機依賴三大部件(高層依賴於抽象層),讓實現層依賴於抽象層,各類類型的cpu去繼承抽象層,這樣達到了高層和實現層的解耦合,也讓實現層和實現層之間解耦合。

相關文章
相關標籤/搜索