Declaração "switch" versus tabela de pesquisa no MapForce

Uma das coisas fantásticas de trabalhar com desenvolvedores de software é que não só se tem a oportunidade de criar coisas novas que nunca existiram antes, como também se pode observar como a mente de outras pessoas funciona quando encontram soluções alternativas para qualquer desafio de design. Recebemos um comentário de um desenvolvedor de software sobre a nossa publicação recente intitulada "O "If-Else" expansível funciona como uma declaração "Switch" no MapForce", relativamente a um dos exemplos que utilizamos. O leitor sugere que o nosso segundo exemplo ilustrava um problema que seria resolvido de forma mais elegante no Altova MapForce utilizando um "Value-Map" em vez da nossa declaração "If-Else" expandida. Eis o exemplo original que recebia o mês como uma sequência de caracteres e que precisava de gerar o número correspondente:

Numa ferramenta como o MapForce, um "Value-Map" é uma solução alternativa que funciona como uma tabela de pesquisa, enquanto um "Expanded If-Else" age como uma instrução "switch". Eis como seria o nosso mapeamento com um "Value-Map" em vez de um "Expanded If-Else":

Sim, é isso. Em vez de copiar, colar e modificar conjuntos de elementos, como fizemos com a nossa versão original do "Se-Então" expandido, um "Mapa de Valores" permite-nos criar facilmente toda a tabela de pesquisa no seu diálogo de propriedades:

Concordamos com o comentário: o "Value-Map" funciona definitivamente melhor para o problema que escolhemos, porque é muito mais rápido e fácil de criar! A tabela das propriedades do Value-Map é também mais concisa e mais fácil de interpretar no MapForcedocumentação de mapeamento gerada do que a nossa estrutura original de "se...então...senão" expandida. Claro que não sempre Substituir uma estrutura condicional "if-else" expandida por um mapeamento de valores. Os dados que entram no Value-Map devem igual Um único valor na tabela de entrada é utilizado para gerar uma saída específica, enquanto a função "Se-Então-Senão" expandida permite definir uma série de condições com diferentes testes lógicos. Por vezes, a natureza exata de um projeto de conversão de dados torna a escolha entre um elemento de comutação e uma tabela de pesquisa uma questão de avaliação e discernimento. Suponha que o seu projeto recebe dados como um número que representa um comprimento de onda do espectro eletromagnético e que pretende processar a radiação ultravioleta, as cores visíveis e a energia infravermelha de forma independente. Nesse caso, poderíamos usar uma estrutura "Se-Senão" expandida para verificar intervalos de valores de entrada. A secção expandida de "se...então...senão" do mapeamento pode ter a seguinte aparência:

Se a entrada for um número inteiro, também seria possível criar uma solução utilizando o Value-Map, mas seria necessário construir uma tabela de pesquisa muito extensa. Além disso, o que aconteceria mais tarde se os requisitos do projeto mudassem e a entrada se tornasse um número decimal, ou se fosse necessário filtrar cada cor visível separadamente por nome? Essencialmente, o Altova MapForce é uma representação gráfica muito interessante de uma caixa de ferramentas completa para linguagens de programação, que o protege da sintaxe detalhada das linguagens de programação, oferecendo uma vasta coleção de componentes que pode combinar de forma criativa para resolver os seus próprios desafios de mapeamento, conversão e integração de dados.

Descubra por si mesmo como é fácil aplicar o MapForce aos seus próprios projetos de mapeamento de dados. Descarregue uma versão de avaliação gratuita de 30 dias. da MapForce.