2013-08-26 31 views
1

我正在开发一个地址系统,它提供了一种机制来隐藏应用程序的固定地址(例如IP绑定)。例如,应用程序可以被称为APP1。如果此应用程序失败,则此机制以静默方式将备份实例的IP地址链接到抽象地址APP1。与APP1交谈的程序将永远不会注意到这个隐藏的地址更改。网络中的透明结构 - 正确的术语?

通常情况下,人们称之为transparent这样的行为,即使隐藏和使事物不可见也正是使事物变得透明的反面。

transparent正确的术语?如果是,为什么?论证是否来自不同的观察角度?

为了防止关于这个问题的评论和标记成为主题:我正在编写一个技术规范,这是系统开发过程中非常重要的一步,因此需要与编程系统一样的精确度,因此只能看到这个作为一个更广泛意义上的编程问题。

回答

2

这是一个经典的讨论。正确的术语实际上取决于你如何描述你的系统 - 你使用的是明显的可见性隐喻还是数学/ CS概念?由于mechanims没有显示其执行的所有细节,因此您可以说该机制提供了一个“不透明”的行为视图,因为用户没有看到它的工作原理。这实际上与透明度相反 - 正如你在你的问题中指出的那样。然而,并不那么简单。这个表达式来自一个数学概念,referential transparency。维基百科:“如果一个表达式可以被替换为其值而不改变程序的行为(换句话说,产生一个具有相同效果和相同输入的输出的程序),则该表达式被认为是透明的。”还有衍生概念transparency in HCI:“如果更改后的系统在改变其内部行为的同时尽可能地遵守先前的外部接口,则计算系统中的任何更改(如新功能或新组件)都是透明的。”

所以,是的,您可以使用透明度概念来描述您的系统的行为抽象。

The properties of transparent vs translucent vs opaque regarding light visibility