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

次のようなことをよく耳にします。

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

マッパーとその動作とは何かをマッピングすることの実際の意味は?

コメント

  • これは、あるセットのアイテムを別のセットのアイテムと照合することを意味します。または、1つのセットの各アイテムに対して関数を実行して取得することを意味します。新しい対応するセット。これは数学的には同じようなものです。したがって、データベース内のテーブルをコード内のオブジェクトと照合することを意味する場合があります。または、リスト内の各アイテムに対して操作を実行します。マッパーは、あるセットのアイテムを別のセットのアイテムと照合する関数またはクラスです。

回答

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

プログラミング用途も非常に広いので、「 sは、「マップ」の最も具体的で明確な意味から始まります。つまり、ほとんどの機能プログラミング言語に存在する高次の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を直接記述したり、データベースの構造を気にしたりすることなく、コード内の「通常の」オブジェクトを操作できます。

回答

それは「数学的な概念です。

www.thefreedictionary.com

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

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

  • たとえば、クラスUserは、データベーステーブルUSERの行の表現であり、object-relational-mappingになります。
  • または、一方のリストの特定の要素がもう一方のリストの1つの要素に対応するというキーと値のペアのリストを作成することもできます。

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

コメント

  • あなたの説明は、すでにマッピングの経験がある人にしか理解できないでしょう。
  • @RobertHarvey私はそれを少し改善しました。

回答

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

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

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

回答

地理マップは実世界を翻訳します別の形式のランドマーク:読みやすい一枚の紙。

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

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です