我在書上讀到這句話:David Wheeler的格言中的「間接水平」是什麼意思?
有計算機科學沒問題,可以不使用間接的另一個層面來解決。
有人可以解釋嗎? 「間接水平」是什麼意思?
從我的理解,間接是使用價值的指針,而不是價值本身的花式名稱。請爲我澄清這一點。
我在書上讀到這句話:David Wheeler的格言中的「間接水平」是什麼意思?
有計算機科學沒問題,可以不使用間接的另一個層面來解決。
有人可以解釋嗎? 「間接水平」是什麼意思?
從我的理解,間接是使用價值的指針,而不是價值本身的花式名稱。請爲我澄清這一點。
「間接」使用的是其他最廣義的東西。
所以你的例子,使用一個值的指針而不是值,這個定義適合於一個層次。指針是一些東西,價值是別的東西。
通常,這是一些範圍較大:
這最後一個例子可能解釋了「爲什麼」這一切。
當我們處理一些我們掌握的東西並學習如何將其抽象到一個更高的抽象層次時,因此需要一個新的間接層次,我們可以通過將一些工作卸載到新的API來更快地解決更大的問題。
間接性的一個潛在的巨大優勢是減少了耦合。這是另一種說法,應該適當地劃分事物。這通常對於長期的測試,可維護性和靈活性有很大的幫助。例如,如果您的應用程序需要讀取一些持久數據,而不是具體瞭解將應用程序分散到哪裏(以及如何讀取)的具體信息,請將其隔離(將讀取的數據放入方法),然後讓應用程序的所有其他部分調用該方法來獲取數據,而不是應用程序的每個部分都必須自己處理這些細節。
您忘了引用的其餘部分「...除了太多的indiretion級別」 –
我認爲它與抽象層數據到對象有關,並處理各種抽象層次上的問題(在不同的對象中,也許在OOP範例中。) – Houdini
[間接等級解決每個問題]的可能重複(http://stackoverflow.com/questions/288623/level-of-indirection-solves-every-problem)。另請參見[抽象層和間接層次之間的區別是什麼?](http://programmers.stackexchange.com/q/111756)和[其他網絡](http:// www。google.com/search?q=there+is+no+problem+that+cannot+be+solved+with+another+level+of+indirection)。 –