5 依賴倒置原則

2021-08-31 19:51:14 字數 693 閱讀 7973

電腦主機板上的顯示卡,記憶體,硬碟,風扇...等!如果說和主機板的關係是[color=red]易插拔關係[/color].

那麼軟體中就應該是[color=red]高內聚,低耦合[/color]了.

[color=red]依賴倒置原則,抽象不應該依賴細節,解析應該依賴抽象,說白了就是針對介面程式設計,不要對實現程式設計.[/color]

原則一:高層模組不應該依賴低層模組.兩個都應該依賴抽象.

原則二:抽象不應該依賴細節,細節應該依賴抽象.

高層模組依賴低層模組,低層資料庫封裝的databases,高層所有業務模組對資料庫操作都會呼叫低層的方法進行對資料庫操作.這時高層模組依賴低層模組了

問題:這樣**量減少了沒錯,如果更換了資料庫,但是高層模組是一樣的,現在高低曾是依賴的,這樣不容易得到復用,(比如之前是sqlserver,現在更換oracle了,語句等等都不一樣)

如果現在依賴低層是乙個抽象介面或者抽象類,就可以解決這個問題了.但隨之而來的就是[color=red]黎克特制替換原則了[/color]

黎克特制替換原則,兒子可以替換老子,老子不能替換兒子!!(有點俗了,好理解!)

當子類替換掉父類,但功能不受到影響,父類才能真正被復用,而子類也能夠在父類的基礎上增加新的行為.

由於子型別的可替換性才使得使用父類型別的模組在無需修改的情況下就可以擴充套件.

依賴倒轉其實就是誰也不要依靠誰,除了約定的介面,大家都可以靈活自如!!

依賴倒置原則

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

依賴倒置原則

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

依賴倒置原則

依賴倒置原則 說白了就是 針對介面程式設計。case 比如在 unity 中,為了使常用 可以復用,會把許多函式寫成程式集,每次做新專案的時候直接呼叫這些函式就可以。也是高層模組依賴低層模組 資源載入,當前專案是使用 resoucers 方式載入的 class resourcemanager 有一天...