桩 (计算机)

✍ dations ◷ 2025-02-23 21:12:48 #计算机编程

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



相关

  • 缓步动物门缓步动物门(学名:Tardigrata)是俗称水熊虫的一类小型动物,主要生活在淡水的沉渣、潮湿土壤以及苔藓植物的水膜中,少数种类生活在海水的潮间带。有记录的大约有750余种,其中许多种
  • 哥特式建筑哥特式建筑(法语:Architecture gothique, 英语:Gothic architecture),或译作歌德式建筑,是一种兴盛于欧洲中世纪高峰与末期的建筑风格。它是由罗马式建筑发展而来,为文艺复兴建筑所
  • 市镇市镇(comune,复数为comuni)是意大利的最基本的行政区划,也是意大利的基层政权。目前,意大利的市镇(comuni)共有8101个。
  • 放疗放射治疗(英语:Radiation therapy、Radiotherapy),简称放疗或电疗,是使用游离辐射作为治疗的一种方式。其原理是大量的辐射所产生的能量可破坏细胞的染色体,使细胞停止生长,从而消
  • 约翰尼斯堡约翰内斯堡(南非语:Johannesburg .mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium
  • 方苞方苞(1668年5月25日-1749年9月29日),字灵皋,一字凤九,晚号望溪,安徽桐城县人,清代文学家,首创文学流派桐城派。与刘大櫆、姚鼐合称桐城三祖。康熙七年(1668年)四月十二日,方苞生于江南六
  • CV-2 列星顿号坐标:15°20′00″S 155°30′00″E / 15.33333°S 155.50000°E / -15.33333; 155.50000列克星敦号航空母舰 (CV-2)又名列克星顿或李克星顿是列克星敦级航空母舰的一号舰。
  • 生物附着当人造的物体被浸没在海水中时,包括微生物、藻类、动植物在内的各种生物会在它的表面上生长,累积,并逐渐覆盖这个表面。这一过程被称为生物附着(英语:Biofouling)。生物附着大致可
  • 葛山氏元葛山氏元(1520年—1573年?)是日本战国时代武将。骏河国骏东郡的国人众。葛山城城主。备中守。父亲是葛山贞氏。成为葛山氏广的养子。葛山氏是骏河国东部展开在地领主制的国众。
  • 吉姆·詹森吉姆·詹森(英语:James Robert Jim" Johnson,1983年6月27日-)出生于纽约州的詹森城(Johnson City)。詹森出生于纽约州的詹森城(Johnson City),他是在纽约州恩迪科特(Endicott)的长大。高