web-dev-qa-db-ja.com

プログラミングにおけるマッピングとはどういう意味ですか?

私はしばしば次のようなことを聞​​きます:

  • クラスのマッピング
  • データベースからのオブジェクトのマッピング
  • オブジェクトのマッピング
  • リストの要素のマッピング
  • マッパー

マッパーと何かをマッピングする行為は実際には何を意味しますか?

9
LuisDavis

動詞「map」と名詞「mapper」のプログラミングでの使用は、英語での一般的な使用とはほとんど関係がないため、これは非常に理解できる質問です。

プログラミングの使用も非常に広いので、「マップ」の最も具体的で明確な意味から始めましょう。つまり、ほとんどの関数型プログラミング言語に存在する高次のmap関数です。 JavaScriptでの簡単な例を次に示します。

var numbers = [1, 2, 3, 4];
var timesTwo = function(n) {
    return n * 2;
}
numbers.map(timesTwo); // [2, 4, 6, 8]

map関数には、配列と別の関数が必要です。元の配列のすべての要素にその関数を適用した結果である新しい配列を返します。

この用語の他のすべての使用法は、少なくとも私の経験では、この特定の使用法に類似していると見なすことができます。 最も一般的な意味で、プログラミングにおける「マッピング」とは、いくつかのものを取り、それから何らかの形でそれらのそれぞれを別のものと関連付けることを意味します。

私の日常業務における典型的ですが不正確な使用法は、「ハンドラー関数へのUIイベントのマッピング」です。たとえば、ユーザーがボタン1をクリックすると、handleButton1Clickが呼び出され、ユーザーが画像にカーソルを合わせたときにhandleImageHoverが呼び出されます。

この用語の最も高度な使用法の1つはORM(オブジェクトリレーショナルマッピング)です。これは、リレーショナルデータベースの行をOOP言語のオブジェクトにマッピングすることにより、 " SQLを直接記述したり、データベースの構造を気にする必要がない、コード内の通常のオブジェクト。

12
Ixrec

それは数学的概念です。

www.thefreedictionary.com

2. Mathematics The correspondence of elements in one set
to elements in the same set or another set.

2つの異なるデータモデル間の対応を確立することです。

  • たとえば、クラスUserはデータベーステーブルUSERの行の表現であり、オブジェクトリレーショナルマッピングと言えます。
  • または、1つのリストの特定の要素が他のリストの1つの要素に対応することを示すキーと値のペアのリストを作成できます。

ユーザー名を考えると、あなたの母国語はスペイン語だと思います。マッピングまたは「マッピングする」はemparejarと翻訳できます。

9

一般に、「マッピング」とは、いくつかの値を他の値に関連付けることです。それは手動のプロセスを意味する傾向があります。それは固定された関連付けを意味する傾向があります。 ASCII値を検討してください:

'a' -> 97
'b' -> 98
'c' -> 99
...

関連付けのセット全体をマッピング(名詞)と呼びます。文字と数字、そしてメイキングの関連付けは、マッピング(動詞)とも呼ばれます。関数は入力を受け取り、計算に基づいて出力を生成するため、関数とは異なります。通常、マッピングは計算を行わず、代わりに何らかのルックアップを行います。

4
Telastyn

地理マップは、現実世界のランドマークを別の形式、つまり読みやすい紙に変換します。

科学におけるマッピングも同じ考えです。 1つのドメインから一連のオブジェクトを取得し、それらを別の用途に変換します。

これは、さまざまな状況で一般的に使用できる幅広い概念です。

0
Price Jones