1

我正在开发一个地址系统,它提供了一种隐藏应用程序固定地址(例如 IP 绑定)的机制。例如,应用程序可能被称为APP1. 如果此应用程序失败,此机制会默默地将备份实例的 IP 地址链接到抽象地址APP1。然而,与之交谈的程序APP1永远不会注意到这个隐藏的地址变化。

通常,人们将这种行为称为transparent隐藏和使事物不可见的行为与使事物透明的相反。

transparent正确的术语吗?如果是,为什么?这个论点是否来自一些不同的视角?

为了防止关于这个问题的评论和标记成为主题:我正在编写一个技术规范,这是系统开发过程中非常重要的一步,因此需要与系统编程相同级别的准确性,因此只需将其视为一个编程问题在更广泛的意义上。

4

1 回答 1

2

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

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

关于光能见度的透明、半透明和不透明的属性

于 2013-08-26T19:32:20.997 回答