桩 (计算机)

✍ dations ◷ 2024-12-23 19:08:00 #计算机编程

桩(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最终调用真正的服务对象。由此,在调用客户对象的时候,感觉上就是直接调用了真正的服务对象。



相关

  • 硫氰化物硫氰酸盐是硫氰酸根离子SCN−所成的盐,常见的包括无色的硫氰酸钾、硫氰酸钠、硫氰酸铵和硫氰酸汞。硫氰酸酯指含有SCN官能团的有机化合物。硫氰酸根离子与氰酸根离子−同类,只
  • 弗里敦弗里敦(英语:Freetown),是西非国家塞拉利昂共和国的首都,经济、文化中心,亦是该国的最大城市。位于大西洋岸边的弗里敦半岛(Freetown Peninsula),2004年人口有1,070,200人。它不仅是
  • 玉皇玉皇上帝,通称玉皇大天尊,简称玉皇、玉帝,俗称玉皇大帝、天公,宋代尊称之为昊天玄穹玉皇上帝。玉皇上帝源自中国自古以来信仰的昊天上帝。中国人自从原始社会开始就崇敬“天”,最
  • 袋狸目 Peramelemorphia袋狸目(Peramelemorphia)是包括了袋狸及兔袋狸的一目,接近“杂食性有袋类”的主支。其下所有成员都是澳洲及新畿内亚的原住民,大部分都有袋狸的体态:肥胖、弓背、尖长的吻、很大
  • 法兰索瓦·杜鲁福弗朗索瓦·罗兰·特吕弗(François Roland Truffaut,1932年2月6日-1984年10月21日),法国著名导演,法国新浪潮(电影创作流派)的代表之一,“作者电影”的提倡者和佼佼者,与法国另一名导
  • 刑事案件的警察合作与司法合作欧盟三支柱刑事领域警务与司法合作(Police and Judicial Co-operation in Criminal Matters,缩写为PJCC)是欧盟三支柱中的第三支柱。在2003年之前,它被称为司法与内政合作(Justi
  • 法属西非法属西非(法语:Afrique occidentale française,缩写为AOF)指的是法国在西非的一大片殖民地,面积达468.9万平方公里。包括了现在的毛里塔尼亚、塞内加尔、尼日尔、法属苏丹(今马里
  • 2016年被中华人民共和国处决的死刑犯列表2016年被中华人民共和国处决的死刑犯列表,旨在列出2016年被中华人民共和国处决的死刑犯。
  • 许冠杰演唱会列表本列表列出许冠杰历年举行的演唱会。
  • 菲利普·科斯蒂奇菲利普·科斯蒂奇(塞尔维亚语:Филип Костић;;1992年11月1日-)是一位塞尔维亚足球运动员,在场上的位置是左边锋。现效力于德甲球队法兰克福,曾效力于斯图加特。他在2011