O que significa mapeamento em programação?


9

Costumo ouvir coisas como:

  • Mapeando as Classes
  • Mapeando os Objetos do Banco de Dados
  • Mapeando os Objetos
  • Mapeando os elementos de uma lista
  • Um mapeador

O que significa um mapeador e o ato de mapear algo?


2
Significa combinar itens de um conjunto com itens de outro conjunto - ou significa executar uma função em cada item de um conjunto para obter um novo conjunto correspondente. Qual é o mesmo matematicamente falando. Portanto, pode significar tabelas correspondentes em um banco de dados com objetos no código. Ou executando uma operação em cada item de uma lista. Um mapeador é uma função ou classe que combina itens em um conjunto com itens em outro.
precisa saber é o seguinte

Respostas:


12

Os usos de programação do verbo "map" e o substantivo "mapper" não têm grande relação com seus usos comuns em inglês, portanto, essa é uma pergunta muito compreensível.

O uso da programação também é muito amplo, então vamos começar com o significado mais concreto e bem definido de "mapa". Ou seja, a mapfunção de ordem superior presente na maioria das linguagens de programação funcionais. Aqui está um exemplo trivial em Javascript:

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

A mapfunção requer uma matriz e outra função. Retorna uma nova matriz que é o resultado da aplicação dessa função a todos os elementos da matriz original.

Todos os outros usos do termo podem, pelo menos na minha experiência, ser considerados análogos a esse específico. No sentido mais geral, "mapear" na programação significa pegar várias coisas e associar cada uma delas a outra.

Um uso típico, porém impreciso, no meu trabalho diário seria "mapear eventos da interface do usuário para funções de manipulador". Por exemplo, quando o usuário clica no botão 1, quero handleButton1Clickser chamado e, quando o usuário passa o mouse sobre uma imagem, quero handleImageHoverser chamado.

Um dos usos de mais alto nível desse termo é ORM (mapeamento objeto-relacional), que significa mapear linhas em um banco de dados relacional para objetos em uma linguagem OOP, para que você possa manipular objetos "normais" em seu código sem precisar escreva diretamente SQL ou se preocupe com a estrutura do banco de dados.


9

É um conceito matemático.

www.thefreedictionary.com

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

É para estabelecer uma correspondência entre dois modelos de dados distintos.

  • Por exemplo, você pode dizer que a classe Useré uma representação de uma linha da tabela do banco de dados USER, que seria o mapeamento relacional de objetos.
  • Ou você pode criar uma lista de pares de valores-chave que está dizendo que um determinado elemento de uma lista corresponde a um elemento da outra lista.

Eu acho que sua língua nativa é o espanhol, devido ao seu nome de usuário, mapeamento ou "mapear" poderia ser traduzido como emparejar .


4
Sua descrição provavelmente só será compreensível para alguém que já tenha experiência com mapeamento.
Robert Harvey

@RobertHarvey Eu meio que o aprimorei.
Tulains Córdova

4

Geralmente, "mapeamento" é uma associação de alguns valores a outros valores. Tende a implicar um tipo manual de processo. Tende a implicar uma associação fixa. Considere os valores ASCII:

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

Todo o conjunto de associações é chamado de mapeamento (substantivo). Ter os caracteres e os números e fazer as associações também é chamado de mapeamento (verbo). Difere de uma função, pois ela recebe alguma entrada e produz a saída com base em algum cálculo. Os mapeamentos geralmente não fazem um cálculo, mas algum tipo de pesquisa.


0

Um mapa geográfico traduz os marcos do mundo real para um formato diferente: um pedaço de papel de fácil leitura.

Mapear na ciência é a mesma idéia. Você pega um conjunto de objetos de um domínio e os converte para outro para um uso diferente.

É um conceito amplo que pode ser usado geralmente para qualquer número de situações.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.