Vad betyder kartläggning vid programmering?

Jag hör ofta saker som:

  • Kartläggning av klasser
  • Kartläggning av objekten från databasen
  • Kartlägga objekten
  • Kartlägga elementen i en lista
  • En kartläggare

Vad gör en kartläggare och handlingen att kartlägga något egentligen betyder?

Kommentarer

  • Det betyder att matcha objekt från en uppsättning med objekt i en annan uppsättning – eller det betyder att utföra en funktion på varje objekt i en uppsättning för att få en ny motsvarande uppsättning. Vilket är ungefär samma matematiskt sett. Så det kan betyda att matcha tabeller i en databas med objekt i koden. Eller utföra en åtgärd för varje objekt i en lista. En mapper är en funktion eller klass som matchar objekt i en uppsättning med objekt i en annan.

Svar

programmeringsanvändningar av verbet ”map” och substantivet ”mapper” är i stort sett inte relaterade till deras vanliga användningar på engelska, så det här är en mycket förståelig fråga.

Programmeringsanvändningen är också mycket bred, så låt ” s börjar med den mest konkreta och väldefinierade innebörden av ”karta”. Namnlösa: den högre ordningens map -funktion som finns i de flesta funktionella programmeringsspråk. Här ”är ett trivialt exempel på det i Javascript:

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

Funktionen map kräver en matris och en annan funktion. Den returnerar en ny matris som är resultatet av att den funktionen tillämpas på alla element i den ursprungliga matrisen.

Alla andra användningar av termen kan åtminstone enligt min erfarenhet betraktas som analoga med denna specifika. I allmänhet betyder ”mapping” i programmering att du tar flera saker och sedan på något sätt associerar var och en med en annan sak.

En typisk men oprecis användning i mitt dagliga arbete är att ”mappa UI-händelser till hanterarfunktioner”. När användaren till exempel klickar på knapp 1 vill jag att handleButton1Click ska ringas, och när användaren svävar över en bild vill jag att handleImageHover att ringa.

En av de mest höga användningsområdena för denna term är ORM (objektrelationskartläggning), vilket innebär att kartlägga rader i en relationsdatabas till objekt i ett OOP-språk, så att du kan manipulera ”normala” objekt i din kod utan att behöva skriva SQL direkt eller oroa dig för databasens struktur.

Svar

Det är ett matematiskt koncept.

www.thefreedictionary.com

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

Det är att skapa en överensstämmelse mellan två distinkta datamodeller.

  • Du kan till exempel säga att klassen User är en representation av en rad i databastabellen USER, det skulle vara objektrelationskartläggning.
  • Eller så kan du skapa en nyckel-värde-parlista som säger att ett visst element i en lista motsvarar ett element i den andra listan.

Jag antar att din modersmål är spanska med tanke på att ditt användarnamn, kartläggning eller ”till karta” kan översättas som emparejar .

Kommentarer

  • Din beskrivning skulle sannolikt bara kunna förstås för någon som redan har erfarenhet av kartläggning.
  • @RobertHarvey Jag har förbättrat den på något sätt.

Svar

Generellt är ”mapping” någon koppling av vissa värden till andra värden. Det tenderar att innebära en manuell typ av process. Det tenderar att antyda en fast förening. Tänk på ASCII-värden:

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

Hela uppsättningen associeringar kallas en mappning (substantiv). Att ha karaktärerna och siffrorna och göra associeringarna kallas också en kartläggning (verb). Det skiljer sig från en funktion, eftersom en funktion tar lite input och producerar output baserat på någon beräkning. Mappningar gör i allmänhet inte någon beräkning, utan istället någon form av uppslag.

Svar

En geografisk karta översätter den verkliga världen landmärken till ett annat format: ett lättläst papper.

Kartläggning inom vetenskap är samma idé. Du tar en uppsättning objekt från en domän och översätter dem till en annan för en annan användning.

Det är ett brett koncept som generellt kan användas i alla situationer.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *