Teleinterface
From APIDesign
(2 intermediate revisions not shown.) | |||
Line 3: | Line 3: | ||
[[Image:Teleinterface.png]] | [[Image:Teleinterface.png]] | ||
- | Just like a [[wikipedia::teleport|teleport]] that allows to transfer people between two distinct locations in a hyperspace a [[Teleinterface]] transfers information between distant [[API]] parties without being spotted meanwhile. [[Lookup]] is one possible way to realize a [[Teleinterface]]. | + | Just like a [[wikipedia::teleport|teleport]] that allows to transfer people between two distinct locations in a hyperspace a [[Teleinterface]] transfers information between distant [[API]] parties without being spotted meanwhile. |
+ | |||
+ | [[Lookup]] is one possible way to realize a [[Teleinterface]]. [[MagicalStrings]] are other. Both of these cases use some form of ''opaque container'' that flows through the [[API]], without being interpreted. In case of [[Lookup]] the container is fully opaque - e.g. the [[API]] itself cannot (without a reflection) access the objects stored in it. In case of [[MagicalStrings]] the content of the container can be seen, printed, somehow processed, but still proper understanding of the [[MagicalStrings]] remains beyond capabilities of the [[API]] itself. It has to be left to the implementation on the other side of the [[Teleinterface]]. | ||
[[Category:APIDesignPatterns]] | [[Category:APIDesignPatterns]] | ||
[[Category:APIDesignPatterns:Meta]] | [[Category:APIDesignPatterns:Meta]] |
Current revision
Special meta-API Design Pattern that allows two parties to communicate via an interface that does not understand the whole complexity of the communication. Somehow the information flows from one side to another without being observed by the API itself.
Just like a teleport that allows to transfer people between two distinct locations in a hyperspace a Teleinterface transfers information between distant API parties without being spotted meanwhile.
Lookup is one possible way to realize a Teleinterface. MagicalStrings are other. Both of these cases use some form of opaque container that flows through the API, without being interpreted. In case of Lookup the container is fully opaque - e.g. the API itself cannot (without a reflection) access the objects stored in it. In case of MagicalStrings the content of the container can be seen, printed, somehow processed, but still proper understanding of the MagicalStrings remains beyond capabilities of the API itself. It has to be left to the implementation on the other side of the Teleinterface.