樁 (計算機)
外觀
樁[1](Stub / Method Stub )是指用來替換一部分功能的程序段。樁程序可以用來模擬已有程序的行為(比如一個遠端機器的過程)或是對將要開發的代碼的一種臨時替代。因此,打樁技術在程序移植、分佈式計算、通用軟件開發和測試中用處很大。
以下是樁程序的一個例子(偽碼):
BEGIN Temperature = ThermometerRead(Outside) IF Temperature > 40 THEN PRINT "It's HOT!" END IF END
BEGIN ThermometerRead(Source insideOrOutside) RETURN 28 END ThermometerRead
上例中的偽碼調用了 ThermometerRead函數,其返回一個溫度。由於ThermometerRead需要去讀取硬件設備,而這個函數現在還沒能開發完成,不能正常工作。ThermometerRead只是簡單的返回了一個合理的值,這樣主程序就能正常調用這個函數,並繼續接下來的開發了。可以注意到,雖然它接受了一個Source類型的參數,表明需要返回的溫度是內部還是外部的,實際上並沒有對這個參數進行任何使用。
樁程序是一段並不執行任何實際功能的程序,只對接受的參數進行聲明並返回一個合法值。這個返回值通常只是一個對於調用者來講可接受的值即可。樁通常用在對一個已有接口的臨時替換上,實際的接口程序在未來再對樁程序進行替換。
在遠程方法調用(RMI)中將客戶輔助對象稱之為Stub(樁);將服務輔助對象稱之為skeleton[2](骨架)。
RMI的過程是:客戶對象一旦被調用,客戶對象調用stub,stub調用網絡遠端的skeleton,而skeleton最終調用真正的服務對象。由此,在調用客戶對象的時候,感覺上就是直接調用了真正的服務對象。
參考資料
[編輯]- ^ stub. WEBOPEDIA. [2012-08-28]. (原始內容存檔於2012-09-21).
- ^ Freeman, Eric; Freeman, Elisabeth; Kathy, Sierra; Bert, Bates. Hendrickson, Mike , 編. Head First Design Patterns (paperback) 1. O'REILLY: 440. 2004 [2012-08-28]. ISBN 978-0-596-00712-6. (原始內容存檔於2012-08-22).
外部連結
[編輯]- A Stub Generation System For C++ (頁面存檔備份,存於互聯網檔案館) (PDF)
- Stub/mock frameworks for Java Review and comparison of stub & mock frameworks for Java