樁 (計算機)

維基百科,自由的百科全書

[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最終調用真正的服務對象。由此,在調用客戶對象的時候,感覺上就是直接調用了真正的服務對象。

參考資料[編輯]

  1. ^ stub. WEBOPEDIA. [2012-08-28]. (原始內容存檔於2012-09-21). 
  2. ^ 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). 

外部連結[編輯]