上層的意思就是依賴方,例如乙個人出遠門需要依賴交通工具,下層就是被依賴方,如交通工具。交通工具包括大巴、火車、飛機、高鐵等。
反例:按照下面uml圖,我們將實現**寫出來;
}可以看到每個種類的交通工具都需要去過載乙個方法才能執行,要是有100種交通出行方式,則需要寫100個過載,這是非常臃腫的,下面我們使用依賴倒置原則看看正例如何解決。
正例:按照下面正例的uml圖,我們將實現**寫出來;
* 定義抽象
*/inte***ce vehicle
class car implements vehicle
}class train implements vehicle
}class plane implements vehicle
}public class person
public static void main(string args)
}可以看到原本上層依賴的箭頭是向下依賴的,而加了統一抽象後,上層依賴了抽象,實現的箭頭則「倒置」了;我們即使如何擴充套件交通工具也不需要改變客戶端的呼叫,只需要實現統一的抽象即可,這樣就實現了客戶端的解耦。
依賴倒置原則
依賴倒置原則 為什麼會出現這個原則呢?q 所有的一切都源於變化,現在orm足夠強大了,看一下他的原始碼也會發現,工廠 介面的使用都是為了更好的擴充套件。舉個簡單的例子 你的老師讓你寫了乙個 豬 類,實現了他的移動方法,如下 public class pig public class client 第...
依賴倒置原則
1 抽象不應該依賴於具體,具體應該依賴於抽象。2 高層次模組不應該依賴於低層次模組,它們都應該依賴於抽象。對於乙個小賣部來說,有許多飲料,比如可樂 雪碧 橙汁 這時,我們把小賣部定義為乙個具體類,如果我們沒有選擇依賴倒置原則的話,我們就應該在小賣部中new coke new sprit new or...
依賴倒置原則
依賴倒置原則 說白了就是 針對介面程式設計。case 比如在 unity 中,為了使常用 可以復用,會把許多函式寫成程式集,每次做新專案的時候直接呼叫這些函式就可以。也是高層模組依賴低層模組 資源載入,當前專案是使用 resoucers 方式載入的 class resourcemanager 有一天...