In computer programming, a Type Tunnel pattern is where a group of physically unrelated types may be tunneled through an extensible adaptation layer and presented in unified form to an underlying layer for manipulation as a whole. It consists of the following:
- a generic, extensible interface layer, used in client code, which can interact with heterogeneous types, and
- a tunnel mechanism, which translates between the heterogeneous types expressed in the client code into the type understood by
- a concrete API layer, which manipulates a single concrete type.
Tunnel mechanism include Shims and conversion constructors.
C++
Example that uses Shims as tunnel mechanism.
References
Type Tunnel pattern Wikipedia(Text) CC BY-SA