程式設計依賴抽象

2022-09-04 18:33:13 字數 506 閱讀 5771

依賴於抽象而不依賴與實現,並不難理解。

比方說我們需要乙個東西來盛水,這個東西只要有盛水的功能就行了,我們並不關心它是馬克杯,樂扣杯,或者是解放牌大瓷缸,甚至是尿壺,這個能盛水的東西便是抽象(我們在腦海裡只有乙個概念,卻沒有實物),而馬克杯或者其他的具體實物便是抽象的實現,面向抽象程式設計會非常靈活,並且低耦合,易於擴充套件和維護,還是那個比方,人是乙個類,人有乙個喝水的方法,想喝水就要依賴乙個能盛水的容器,如果我要是依賴於具體程式設計,比如我今天想用樂扣杯盛水喝,明天想換個口味用尿壺,那麼我就得每天都換一種(換一種實現就得修改一會類),非常麻煩,如果我依賴抽象(介面),我只是想喝水,只要這東西能盛水就行,我需要什麼具體容器,就由它人來提供(工廠類提供乙個具體實現的向上轉型也就是抽象以便喝水的人可以用),來實現解耦

上面是很經典的解釋,但在實際情況下,一般乙個介面操作乙個實體表或多個,依賴很多個業務邏輯層的類,業務改動,必須要去對應的業務邏輯層修改或增加方法。這種情況下,依賴抽象和依賴實現區別不大,這是我的感覺。但在資料訪問層依賴抽象還是很有用的,在切換資料庫的時候。

依賴注入 與 抽象工廠

抽象工廠模式只是部分滿足了dip,因為它未滿足 高層模組不應該依賴於低層模組,二者都應該依賴於抽象 換言之在相關高層模組還有抽象工廠的存在,就是依然存在耦合。解耦是最終目的,但實際情況是不可能消除耦合。但ioc or di 這個思想借鑑了硬體設計,將耦合轉移了從而變相的講模組之間的耦合消除了,將模組...

多叉樹抽象任務依賴

系統在空閒是可以跑一些任務來進行一些統計方面的運算,大多是取資料,插資料,統計資料。這些任務有時候是有依賴關係的,比如a任務統計依賴b任務完成,期初我們把b任務安排在2點跑,a任務3點跑,可是b任務如果在乙個小時內不能完成,在跑a任務的時候就會有問題。那麼必須要保證b任務是完成的情況下才開跑a任務。...

什麼是依賴,什麼是抽象

1 關於依賴和耦合 從小國寡民到和諧社會 在老子的 小國寡民 論中,提出了一種理想的社會狀態 鄰國相望,雞犬之聲相聞,民至老死,不相往來。這是他老人家的一種社會理想,老死不相往來的人群呈現了一片和諧景象。因為不發生瓜葛,也就無所謂關聯,進而無法導致衝突。這是先祖哲學中的至純哲理,但理想的大同總是和現...