桩 (计算机)

✍ dations ◷ 2025-04-03 12:45:32 #计算机编程

桩(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(骨架)。

RMI的过程是:客户对象一旦被调用,客户对象调用stub,stub调用网络远端的skeleton,而skeleton最终调用真正的服务对象。由此,在调用客户对象的时候,感觉上就是直接调用了真正的服务对象。



相关

  • 两生类两栖动物(学名:Amphibia)是两栖纲生物的通称,又名两生动物,包括所有生没有卵壳的卵,拥有四肢的脊椎动物(蚓螈的四肢已退化)。两栖动物的皮肤裸露,表面没有鳞片、毛发等覆盖,但是可以分
  • 利根川进利根川进(日语:利根川 進/とねがわ すすむ Tonegawa Susumu ?,1939年9月5日-),日本生物学家。美国国家科学院、美国文理科学院外籍院士。现任麻省理工学院教授、霍华德·休斯医学
  • 国道3号福尔摩沙高速公路,编号为中华民国国道三号,简称福高,是台湾第二条南北向的高速公路,因此一般俗称为第二高速公路(简称二高)、国三(国道三号)。由于分为不同区段兴建,因此台湾民众常称
  • 北呼罗珊北呼罗珊省(波斯语:خراسان شمالی)是伊朗三十一个省份之一。面积28,434平方公里,在所有省份中排行第19。人口约786,918(2005年数据);首府位于博季努尔德市。北呼罗珊省位
  • 琦 昌齐斌达(1800年-?),字洁斋,号文山,杭阿坦氏,清朝官员,蒙古名琦昌,蒙古镶黄旗人。道光元年辛巳举人,三年(1823年)癸未科进士。
  • 鸊鷉目.mw-parser-output ruby.zy{text-align:justify;text-justify:none}.mw-parser-output ruby.zy>rp{user-select:none}.mw-parser-output ruby.zy>rt{font-feature-settings:
  • 大村纯忠大村纯忠(1533年-1587年5月18日、旧历天文2年-天正15年5月18日)是日本战国时代九州的天主教大名,父亲是有马晴纯。有马义贞之弟。洗礼名是巴托洛梅奥(Bartolomeo,バルトロメオ)。曾
  • 朔江口岸坐标:22°56′31″N 105°59′38″E / 22.94194°N 105.99389°E / 22.94194; 105.99389朔江口岸(越南语:Cửa khẩu Sóc Giang/.mw-parser-output .han-nom{font-family:"Nom
  • 极限挑战第三季节目列表以下列出《极限挑战》第三季节目内容,包括参与演出的嘉宾、该集的主题、拍摄地点及最终结果。第1-12集
  • 邓颂九邓颂九(1918年8月-2002年4月13日),湖南长沙人,化工能源和高效率换热设备专家、教授。1942年毕业于浙江大学化工系。1946年获美国密歇根大学化学工程硕士学位。1947年回国,任湖南大