依賴倒置原則

2021-10-21 01:42:40 字數 1165 閱讀 9916

依賴倒置原則:

說白了就是:

針對介面程式設計。

case:

比如在 unity 中,為了使常用**可以復用,會把許多函式寫成程式集,每次做新專案的時候直接呼叫這些函式就可以。

(也是高層模組依賴低層模組)

資源載入,當前專案是使用 resoucers 方式載入的:

class

resourcemanager

}

有一天變成採用 assetbundle 的方式載入了,但是此程式卻做不到了。

只能將 resources 類換成 assetbundle 類,如果以後還需要修改載入方式,那麼還需要改**。

這顯然不是個好的設計方式。

引入乙個 iresourceloader 的介面:

inte***ce

iresourceloader

對於 resourcemanager 與 iresourceloader 產生依賴關係,而不同的載入方式各自去實現 iresourceloader 介面,這樣就符合依賴倒置原則。

class

resourcesloader

:iresourceloader

}class

assetbundleloader

:iresourceloader

}class

resourcemanager

public

object

loadasset

(string name)

}//for test

resourcemanager resourcemanager;

resourcemanager.loader =

newresourcesloader()

;//or : new assetbundleloader();

resourcemanager.

loadasset

("prefab1"

);

這樣以後就不需要修改 resourcemanager 類,只需要擴充套件介面即可。

遵循依賴倒置原則可以降低類之間的耦合性,提高系統的穩定性,降低修改程式造成的風險。

依賴倒置原則

依賴倒置原則 為什麼會出現這個原則呢?q 所有的一切都源於變化,現在orm足夠強大了,看一下他的原始碼也會發現,工廠 介面的使用都是為了更好的擴充套件。舉個簡單的例子 你的老師讓你寫了乙個 豬 類,實現了他的移動方法,如下 public class pig public class client 第...

依賴倒置原則

1 抽象不應該依賴於具體,具體應該依賴於抽象。2 高層次模組不應該依賴於低層次模組,它們都應該依賴於抽象。對於乙個小賣部來說,有許多飲料,比如可樂 雪碧 橙汁 這時,我們把小賣部定義為乙個具體類,如果我們沒有選擇依賴倒置原則的話,我們就應該在小賣部中new coke new sprit new or...

依賴倒置原則

今天講一下,asp.netcore開發中乙個很重要的概念,依賴倒置原則。依賴倒置原則主要是解耦類和類之間的依賴,物件導向乙個很重要的概念就是高內聚,低耦合,降低耦合,可以讓類和類之間的影響最大化降低,簡單點,就是修改乙個類的 不會讓別的類也無法運作。依賴倒置就是開發中降低耦合的乙個很好的方式,它通過...