桩 (计算机)
编辑在软件开发中,存根指的是一个通常相对简单和简短的程序代码,用于替换另一个通常更复杂的程序代码。 被存根替换的实际程序代码尚未开发(自上而下的方法)或在不同的计算机或不同的内存区域中。 如果代码在其他地方,则存根是本地联系点,可以轻松找到只能通过复杂协议访问的软件组件,并隐藏这种复杂性。 然后存根对应于代理的设计模式。
特别是,存根用于分布式系统的开发:只能通过网络访问的远程软件系统的功能以“存根组件”的形式在本地系统上可用。 这个存根组件可以由本地系统的软件寻址,就像远程系统的功能在本地可用一样(访问透明)。 然而,存根组件并没有实际实现这个所需的功能,而是将请求转换为网络调用(编组),与远程系统通信并将操作委托给它。 此通信过程对使用它的系统保持隐藏状态。
在基于客户端-服务器模型(RPC、RMI)进行通信的情况下,客户端上的本地代表存根也称为代理。 通过各种技术,可以从抽象描述中创建服务器上对应方的基本结构(骨架)。
单态和多态存根
编辑调用接口方法的程序必须在xxx次访问时确定其背后的数据类型。
一旦知道数据类型,就会创建一个单态存根,它实现一个函数来访问数据类型的适当方法。 可以保存存根以优化对另一个对象的接口的重新调用。 但是,如果另一个对象属于不同类型,则必须创建一个新的单态存根。 因此,单态存根的缺点是它只适用于特定的具体数据类型。
相反,多态存根具有指向存根函数列表的哈希表。 根据数据类型,多态存根随后可以调用适当的函数。 当调用新数据类型时,将创建一个针对它优化的函数并将其添加到多态存根中。 但是,由于查找,多态存根较慢。
公共语言运行时等一些实现同时支持单态和多态存根。 启发式决定使用哪种存根类型。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/366071/