インピーダンス・ミスマッチ
gpt-4.icon
インピーダンスミスマッチは通常、電気工学や電子工学の文脈で使われる用語ですが、プログラミングの世界でもメタファーとして使用されます。プログラミングの文脈でのインピーダンスミスマッチは、通常、2つのシステム間または2つのコード部分間の相互作用で生じる問題を指します。
この用語は特に、オブジェクト指向プログラミングとリレーショナルデータベース間の対話に関連してよく使われます。これらの二つのシステムは、データを操作および構造化するための根本的に異なるパラダイムを持っています。オブジェクト指向プログラミングでは、データとそのデータを操作するメソッド(関数)が一緒にカプセル化されます。一方、リレーショナルデータベースでは、データはテーブルとして格納され、それぞれが列(属性)と行(レコード)で構成されます。
これら二つの間には「インピーダンスミスマッチ」があります。つまり、オブジェクト指向言語で書かれたコードがリレーショナルデータベースと効率的に対話するためには、一定の変換や「マッピング」が必要になります。この問題を解決するためには、オブジェクトリレーショナルマッピング(ORM)のようなツールが使用されます。
また、他の種類のインピーダンスミスマッチも存在します。例えば、同期と非同期プログラミング、または異なるタイプのプログラミングパラダイム(手続き型、関数型、イベント駆動型など)間で発生します。