Cosa significa mappatura nella programmazione?

8

Sento spesso cose come:

  • Mappatura delle classi
  • Mappatura degli oggetti dal database
  • Mappatura degli oggetti
  • Mappatura degli elementi di un elenco
  • Un mappatore

Che cosa significa in realtà un mappatore e l'atto di mappare qualcosa?

    
posta LuisDavis 17.01.2016 - 16:17
fonte

4 risposte

12

Gli usi di programmazione del verbo "map" e il sostantivo "mapper" sono in gran parte non correlati ai loro usi comuni in inglese, quindi questa è una domanda molto comprensibile.

Anche l'uso della programmazione è molto ampio, quindi iniziamo con il significato più concreto e ben definito di "mappa". Vale a dire, la funzione map di ordine superiore presente nella maggior parte dei linguaggi di programmazione funzionale. Ecco un esempio banale di esso in Javascript:

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

La funzione map richiede una matrice e un'altra funzione. Restituisce un nuovo array che è il risultato dell'applicazione di tale funzione a tutti gli elementi dell'array originale.

Tutti gli altri usi del termine possono, almeno nella mia esperienza, essere considerati analoghi a questo specifico. Nel senso più generale, "mappatura" nella programmazione significa prendere diverse cose e quindi associare in qualche modo ciascuna di esse con un'altra cosa.

Un utilizzo tipico ma impreciso nel mio lavoro quotidiano sarebbe "mappare gli eventi dell'interfaccia utente alle funzioni del gestore". Ad esempio, quando l'utente fa clic sul pulsante 1, voglio che handleButton1Click venga chiamato e quando l'utente si posiziona su un'immagine, voglio handleImageHover per essere richiamato.

Uno degli usi di livello più alto di questo termine è ORM (mapping relazionale dell'oggetto), che significa mappare le righe in un database relazionale a oggetti in un linguaggio OOP, in modo da poter manipolare oggetti "normali" nel codice senza dover scrivere direttamente SQL o preoccuparsi della struttura del database.

    
risposta data 17.01.2016 - 16:57
fonte
8

È un concetto matematico.

www.thefreedictionary.com

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

Serve per stabilire una corrispondenza tra due distinti modelli di dati.

  • Ad esempio, puoi dire che la classe User è una rappresentazione di una riga della tabella del database USER , che sarebbe mappatura relazionale dell'oggetto.
  • Oppure puoi creare un elenco di coppie valore-chiave che dice che un dato elemento di una lista corrisponde a un elemento dell'altra lista.

Immagino che la tua lingua madre sia spagnola dato il tuo nome utente, mappatura o "mappatura" potrebbe essere tradotto come emparejar .

    
risposta data 17.01.2016 - 16:53
fonte
3

Generalmente, "mappatura" è un'associazione di alcuni valori con altri valori. Tende a implicare un processo manuale. Tende a implicare un'associazione fissa. Prendi in considerazione i valori ASCII:

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

L'intera serie di associazioni è chiamata mappatura (sostantivo). Avere i caratteri e i numeri e creare le associazioni è anche chiamato mappatura (verbo). Differisce da una funzione, in quanto una funzione richiede un input e produce l'output in base ad alcuni calcoli. Generalmente le mappature non eseguono un calcolo, ma piuttosto una sorta di ricerca.

    
risposta data 17.01.2016 - 16:51
fonte
0

Una mappa geografica traduce i punti di riferimento del mondo reale in un formato diverso: un pezzo di carta di facile lettura.

La mappatura nella scienza è la stessa idea. Prendi una serie di oggetti da un dominio e li traduci in un altro per un uso diverso.

È un concetto ampio che può essere utilizzato in generale per qualsiasi numero di situazioni.

    
risposta data 30.12.2016 - 19:36
fonte

Leggi altre domande sui tag