2013-08-26 2 views
1

Je développe un système d'adresse qui fournit un mécanisme pour masquer les adresses fixes d'applications (par exemple liées à IP). Par exemple, une application peut être appelée APP1. Si cette application échoue, ce mécanisme lie de manière silencieuse l'adresse IP d'une instance de sauvegarde à l'adresse abstraite APP1. Le programme parlant à APP1 ne remarquera cependant jamais ce changement d'adresse caché.Structures transparentes en réseau - terminologie correcte?

Généralement, les gens se réfèrent à un tel comportement comme transparent même si le fait de se cacher et de rendre les choses invisibles est exactement l'oposite de rendre les choses transparentes.

Est-ce que la terminologie correcte est transparent? Et si oui, pourquoi? L'argument provient-il d'une vision différente? Pour éviter les commentaires et les drapeaux sur cette question étant sujet: J'écris une spécification technique qui est une étape très importante au cours du développement du système, et a donc besoin du même niveau d'exactitude que la programmation du système, donc il suffit de voir ceci comme une question de programmation dans un sens un peu plus large.

Répondre

2

Ceci est une discussion classique. Le terme correct dépend de la façon dont vous décrivez votre système - utilisez-vous une métaphore de visibilité légère ou un concept mathématique/CS? Puisque les mécanismes ne montrent pas tous les détails de son exécution, vous pouvez dire que le mécanisme fournit une vue "opaque" du comportement, parce que l'utilisateur ne voit pas comment cela fonctionne. C'est en fait le contraire de la transparence - comme vous l'avez souligné dans votre question. Cependant, ce n'est pas si simple. Cette expression provient d'un concept mathématique, le referential transparency. De Wikipédia: "Une expression est référentiellement transparente si elle peut être remplacée par sa valeur sans changer le comportement d'un programme (en d'autres termes, donner un programme qui a les mêmes effets et la même sortie)." Il y a aussi le concept dérivé de transparency in HCI: "Tout changement dans un système informatique, tel qu'une nouvelle fonctionnalité ou un nouveau composant, est transparent si le système après changement adhère autant que possible à l'interface externe précédente tout en changeant son comportement interne." Donc, oui, vous pouvez utiliser le concept de transparence pour décrire l'abstraction du comportement de votre système.

The properties of transparent vs translucent vs opaque regarding light visibility