I'm developing an address system which provides a mechanism to hide fixed addresses of applications (e.g. IP-bound). For example, a application may be referred to as APP1. If this application fails, this mechanism silently links the IP-address of a backup instance to abstract address APP1. The program talking to APP1 will however never notice this hidden address change.

Commonly, people refer to such behaviour as transparent even though hiding and making things invisible is exactly the oposite of making things transparent.

Is transparent the correct terminology? And if yes, why? Does the argument come from some different viewing perspective?

To prevent comments and flags about this question being of topic: I'm writing a technical specification which is a very important step during system development, and therefore needs the same level of exactness as programming the system, hence just see this as a programming question in a little bit broader sense.

有帮助吗?

解决方案

This is a classical discussion. The correct term actually depends on how you are describing your system - are you using a light visibility metaphor or a mathematical/CS concept? Since the mechanims do not show all details of its execution, you can say that the mechanism provides an "opaque" view of the behavior, because the user does not see how it works. This is actually the opposite of transparent - as you point out in your question. However, it is not that simple. This expression comes from a mathematical concept, the referential transparency. From Wikipedia: " An expression is said to be referentially transparent if it can be replaced with its value without changing the behavior of a program (in other words, yielding a program that has the same effects and output on the same input)." There is also the derived concept of transparency in HCI: "Any change in a computing system, such as new feature or new component, is transparent if the system after change adheres to previous external interface as much as possible while changing its internal behaviour."

So, yes, you can use the transparency concept to descript your system's behavior abstraction.

The properties of transparent vs translucent vs opaque regarding light visibility

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top