桩 (计算机)

✍ dations ◷ 2025-06-11 09:17:27 #计算机编程

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



相关

  • 免疫缺乏免疫缺陷(英语:immunodeficiency)是指免疫系统抵抗传染病的能力失常或欠缺。免疫缺陷还可能降低肿瘤免疫监视功能。免疫缺陷多为继发性(secondary)免疫缺陷,不过也有些人生来就有
  • 享乐主义者享乐主义(英语:Hedonism)是一个哲学思想,认为享乐是人类最重要的追求。词语的来源是从希腊语的"ἡδονή(hēdonē)"(享乐)加上后缀"ισμός(ismos)"(主义)苏格拉底的学生,昔兰尼的
  • SIGINTSigint或SIGINT可以指:
  • 罗马宪政古罗马政府与政治 系列条目罗马共和国 前509年–前27年 罗马帝国 前27年–1453年元首制 西罗马帝国君主制 东罗马帝国王政时代宪政(英语:Constitution of the Roman Kingdom)
  • 化学计量学化学计量学(chemometrics)是一门应用数学、统计学和计算机技术的原理和方法来处理化学数据的学问,它是分析化学的三级学科,化学计量学可以优化化学量测过程,并从化学量测数据中最
  • 埃尔瓦列斯特罗埃尔瓦列斯特罗(西班牙语:El Ballestero),是西班牙卡斯蒂利亚-拉曼恰自治区阿尔瓦塞特省的一个市镇。 总面积139km², 总人口558人(2001年),人口密度4人/km²。
  • 安特·特鲁姆比奇安特‧特鲁姆比奇 (1864年5月17日-1938年11月17日),是20世纪初期的克罗埃西亚政治家。 特鲁姆比奇出生于奥匈帝国达尔马提亚的史普利特。特鲁姆比奇在萨格勒布、维也纳学习法
  • 陈伟鸿陈伟鸿(1968年6月26日-)出生于福建省厦门市,毕业于福建师范大学,目前为中国中央电视台主持人。1968年,陈伟鸿出生于福建省厦门市。1986年,陈伟鸿进入福建师范大学外国语言文学系就
  • 九州森林管理局九州森林管理局(日语:九州森林管理局/きゅうしゅうしんりんかんりきょく )是日本林野厅在熊本市的地方支分部局,管辖范围为 福冈县、佐贺县、长崎县、大分县、熊本县、宫崎县、
  • 水枪水枪(英文:Water gun、water pistol、squirt gun、water blaster)是一种用以射水的玩具,与水弹的用途相同,使用的基本用意为于游戏中射湿对方。最常见的地方为沙滩和游泳池等戏水