Was bedeutet Mapping in der Programmierung?

9

Ich höre oft Dinge wie:

  • Zuordnung der Klassen
  • Zuordnen der Objekte aus der Datenbank
  • Zuordnen der Objekte
  • Zuordnen der Elemente einer Liste
  • Ein Mapper

Was bedeutet ein Mapper und das Abbilden von etwas eigentlich?

LuisDavis
quelle
2
Dies bedeutet, dass Elemente aus einem Satz mit Elementen aus einem anderen Satz abgeglichen werden - oder dass für jedes Element in einem Satz eine Funktion ausgeführt wird, um einen neuen entsprechenden Satz zu erhalten. Welches ist mathematisch gesehen ähnlich. Dies kann bedeuten, dass Tabellen in einer Datenbank mit Objekten im Code abgeglichen werden. Oder führen Sie eine Operation für jedes Element in einer Liste aus. Ein Mapper ist eine Funktion oder Klasse, die Elemente in einem Satz mit Elementen in einem anderen vergleicht.
JacquesB

Antworten:

12

Die Programmierverwendungen des Verbs "map" und des Substantivs "mapper" hängen weitgehend nicht mit ihren allgemeinen Verwendungen im Englischen zusammen, daher ist dies eine sehr verständliche Frage.

Die Programmieranwendung ist ebenfalls sehr weit gefasst. Beginnen wir also mit der konkretesten und klarsten Bedeutung von "Karte". Die mapFunktion höherer Ordnung ist nämlich in den meisten funktionalen Programmiersprachen vorhanden. Hier ist ein triviales Beispiel dafür in Javascript:

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

Die mapFunktion erfordert ein Array und eine andere Funktion. Es wird ein neues Array zurückgegeben, das das Ergebnis der Anwendung dieser Funktion auf alle Elemente des ursprünglichen Arrays ist.

Alle anderen Verwendungen des Begriffs können zumindest nach meiner Erfahrung als analog zu dieser spezifischen angesehen werden. Im allgemeinsten Sinne bedeutet "Mapping" in der Programmierung, mehrere Dinge zu nehmen und sie dann irgendwie mit einer anderen zu verknüpfen.

Eine typische, aber ungenaue Verwendung in meiner täglichen Arbeit wäre das "Zuordnen von UI-Ereignissen zu Handlerfunktionen". Wenn der Benutzer beispielsweise auf die Schaltfläche 1 klickt, möchte handleButton1Clickich angerufen werden, und wenn der Benutzer mit der Maus über ein Bild fährt, möchte handleImageHoverich angerufen werden.

Eine der häufigsten Anwendungen dieses Begriffs ist ORM (Object-Relational Mapping). Dies bedeutet, dass Zeilen in einer relationalen Datenbank Objekten in einer OOP-Sprache zugeordnet werden, sodass Sie "normale" Objekte in Ihrem Code bearbeiten können, ohne dies zu tun Schreiben Sie direkt SQL oder sorgen Sie sich um die Struktur der Datenbank.

Ixrec
quelle
9

Es ist ein mathematisches Konzept.

www.thefreedictionary.com

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

Es soll eine Entsprechung zwischen zwei unterschiedlichen Datenmodellen hergestellt werden.

  • Sie können beispielsweise sagen, dass die Klasse Usereine Darstellung einer Zeile der Datenbanktabelle USERist, bei der es sich um eine objektrelationale Zuordnung handelt.
  • Oder Sie können eine Schlüssel-Wert-Paarliste erstellen, die besagt, dass ein bestimmtes Element einer Liste einem Element der anderen Liste entspricht.

Ich denke, Ihre Muttersprache ist Spanisch, da Ihr Benutzername, Mapping oder "to map" als emparejar übersetzt werden könnte .

Tulains Córdova
quelle
4
Ihre Beschreibung ist wahrscheinlich nur für jemanden verständlich, der bereits Erfahrung mit Mapping hat.
Robert Harvey
@ RobertHarvey Ich habe es irgendwie verbessert.
Tulains Córdova
4

Im Allgemeinen ist "Zuordnung" eine Zuordnung einiger Werte zu anderen Werten. Dies impliziert tendenziell einen manuellen Prozess. Dies impliziert tendenziell eine feste Assoziation. Betrachten Sie ASCII-Werte:

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

Der gesamte Satz von Assoziationen wird als Mapping (Substantiv) bezeichnet. Die Charaktere und die Nummern und machen die Verbände auch eine Abbildung (Verb) genannt. Es unterscheidet sich von einer Funktion, da eine Funktion eine Eingabe benötigt und die Ausgabe basierend auf einer Berechnung erzeugt. Zuordnungen führen im Allgemeinen keine Berechnung durch, sondern eine Art Nachschlag.

Telastyn
quelle
0

Eine geografische Karte übersetzt reale Wahrzeichen in ein anderes Format: ein leicht lesbares Blatt Papier.

Mapping in der Wissenschaft ist die gleiche Idee. Sie nehmen eine Reihe von Objekten aus einer Domäne und übersetzen sie für eine andere Verwendung in eine andere.

Es ist ein umfassendes Konzept, das allgemein für eine beliebige Anzahl von Situationen verwendet werden kann.

Preis Jones
quelle