Hvad betyder kortlægning i programmering?

Jeg hører ofte ting som:

  • Kortlægning af klasser
  • Kortlægning af objekter fra databasen
  • Kortlægning af objekter
  • Kortlægning af elementerne på en liste
  • En kortlægger

Hvad betyder en kortlægger og handlingen at kortlægge noget betyder egentlig?

Kommentarer

  • Det betyder at matche elementer fra et sæt med elementer i et andet sæt – eller det betyder at udføre en funktion på hvert element i et sæt for at få et nyt tilsvarende sæt. Hvilket er slags det samme matematisk set. Så det kan betyde at matche tabeller i en database med objekter i kode. Eller udføre en handling på hvert emne på en liste. En kortlægger er en funktion eller klasse, der matcher elementer i et sæt med elementer i et andet.

Svar

programmering af verbet “kort” og navneordet “kortlægger” er stort set ikke relateret til deres almindelige anvendelser på engelsk, så dette er et meget forståeligt spørgsmål.

Programmeringsbrugen er også meget bred, så lad os ” s starter med den mest konkrete og veldefinerede betydning af “kort”. Navnlig den højere ordens map -funktion, der findes i de fleste funktionelle programmeringssprog. Her “er et trivielt eksempel på det i Javascript:

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

map -funktionen kræver en matrix og en anden funktion. Det returnerer et nyt array, der er resultatet af at anvende denne funktion på alle elementer i den originale array.

Alle andre anvendelser af udtrykket kan i det mindste efter min erfaring betragtes som analoge med denne specifikke. I den mest generelle forstand betyder “kortlægning” i programmering at tage flere ting og derefter på en eller anden måde knytte hver af dem til en anden ting.

En typisk men upræcis brug i mit daglige arbejde ville være “kortlægning af UI-begivenheder til handlerfunktioner”. Når brugeren f.eks. Klikker på knap 1, vil jeg have, at handleButton1Click skal ringes op, og når brugeren svæver over et billede, vil jeg have handleImageHover for at blive kaldt.

En af de mest høje anvendelser af dette udtryk er ORM (objektrelationskortlægning), hvilket betyder kortlægning af rækker i en relationsdatabase til objekter i et OOP-sprog, så du kan manipulere “normale” objekter i din kode uden at skulle skrive SQL direkte eller bekymre sig om databasens struktur.

Svar

Det er et matematisk koncept.

www.thefreedictionary.com

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

Det er at etablere en korrespondance mellem to forskellige datamodeller.

  • Du kan f.eks. Sige, at klassen User er en repræsentation af en række i databasetabellen USER, det ville være objekt-relationskortlægning.
  • Eller du kan oprette en liste med nøgleværdipar, der siger, at et givet element på en liste svarer til et element på den anden liste.

Jeg antager, at din modersmål er spansk givet dit brugernavn, kortlægning eller “til kort” kunne oversættes som emparejar .

Kommentarer

  • Din beskrivelse vil sandsynligvis kun være forståelig for nogen, der allerede har erfaring med kortlægning.
  • @RobertHarvey Jeg forbedrede den lidt.

Svar

Generelt er “mapping” nogen tilknytning af nogle værdier til andre værdier. Det har tendens til at antyde en manuel slags proces. Det har tendens til at antyde en fast tilknytning. Overvej ASCII-værdier:

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

Hele sæt associering kaldes en kortlægning (substantiv). At have tegnene og tallene og skabe tilknytningerne kaldes også en kortlægning (verb). Det adskiller sig fra en funktion, da en funktion tager noget input og producerer output baseret på en eller anden beregning. Kortlægninger foretager generelt ikke en beregning, men i stedet en slags opslag.

Svar

Et geografisk kort oversætter den virkelige verden landemærker til et andet format: et let at læse papir.

Kortlægning inden for videnskab er den samme idé. Du tager et sæt objekter fra et domæne og oversætter dem til et andet til en anden brug.

Det er et bredt koncept, der generelt kan bruges til et hvilket som helst antal situationer.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *