はじめに
フレームワークやツールの説明などで、「透過的なインタフェース」とか「透過性」とかいう言葉を見かける。
ふわっとして分かりづらい言葉だと思ったので自分なりに理解した内容をメモしてみる。
ちなみに「参照透過性」とは別物。
透過的/透過性 とは
「存在を意識しなくても使える」ということ。
イメージ - 不便な郵便屋さん
透過的ではないインタフェースを考えてみよう。
郵便物を投函するためのポストが青・黄・赤の3種類あり、
用途によって使い分ける必要があるとする。
- 送り元と先で郵便番号が同じ場合は、徒歩で配達するので 青いポスト に投函してください。
- 同じ都道府県内の場合は、バイクで配達するので 黄色いポスト に投函してください。
- 県外の場合は、トラックで配達するので 赤いポスト に投函してください。
利用者は、宛先に郵便物を送りたいという目的は共通しているにも関わらず、
物理的な輸送方法を意識して投函するポストを選択する必要がある。
つまり、この郵便サービスは透過的なインタフェースを提供していない。
実際の郵便屋さんは、物理的な輸送方法に関わらず赤いポストに投函すれば良いので、
物理的な輸送方法に対して透過的なインタフェースを提供していると言える。
話は変わるが、郵便物の重さを自分で測って値段を調べて切手を貼る必要があるのは、とても透過的じゃないインタフェースだなあと思った。