"Switch"-statement versus zoektabellen in MapForce

Een van de mooie dingen aan het werken met softwareontwikkelaars is dat je niet alleen nieuwe dingen kunt creëren die voorheen niet bestonden, maar je ook kunt zien hoe de gedachten van anderen werken wanneer ze alternatieve oplossingen vinden voor elk ontwerpuitdaging. We hebben een reactie ontvangen van een softwareontwikkelaar op onze recente post met de titel "Uitbreidbare If-Else werkt als een Switch Statement in MapForce" met betrekking tot een van de voorbeelden die we hebben gebruikt. De lezer suggereert dat ons tweede voorbeeld een probleem illustreerde dat eleganter zou kunnen worden opgelost in Altova MapForce met behulp van een Value-Map, in plaats van met onze uitbreidbare If-Else-statement. Hier is het oorspronkelijke voorbeeld dat de maand als een reeks karakters ontving en de corresponderende numerieke waarde moest genereren:

Een "Value-Map" in MapForce is een alternatieve oplossing die fungeert als een zoektabellen, terwijl een "Expanded If-Else" werkt als een "switch"-statement. Hieronder ziet u hoe onze mapping eruit zou zien met een "Value-Map" in plaats van een "Expanded If-Else":

Ja, dat klopt. In plaats van elementen te kopiëren, plakken en aan te passen, zoals we dat deden bij onze oorspronkelijke "Expanded If-Else"-functie, stelt een "Value-Map" ons in staat om de gehele zoektabel eenvoudig te creëren via het eigenschappenvenster:

We zijn het eens met de opmerking van de gebruiker: Value-Map werkt zeker beter voor het probleem dat we hebben gekozen, omdat het veel sneller en gemakkelijker is om te maken! De tabel met de eigenschappen van de "Value-Map" is in MapForce ook compacter en gemakkelijker te interpreterengegenereerde documentatie over de mapping dan onze oorspronkelijke, uitgebreide if-else-structuur. Natuurlijk kan dat niet altijd Vervang een uitgebreide "if-else"-statement met een "waarde-mapping". Data die de Value-Map binnenkomen, moeten gelijk zijn aan een enkele waarde in de invoertabel om een specifiek resultaat te genereren, terwijl de functie "Expanded If-Else" u in staat stelt om een reeks voorwaarden in te stellen met verschillende logische tests. Soms bepaalt de precieze aard van een dataconversieproject of het beter is om een schakelelement te gebruiken in plaats van een zoektabellen. Stel dat uw project invoer ontvangt in de vorm van een getal dat een golflengte van het elektromagnetische spectrum vertegenwoordigt, en u wilt ultraviolet licht, zichtbaar licht en infraroodstraling afzonderlijk verwerken. In dat geval zouden we een uitgebreide "als-anders"-constructie kunnen gebruiken om te controleren op bepaalde bereiken van invoerwaarden. Het uitgebreide "als-anders"-gedeelte van de mapping kan er als volgt uitzien:

Als de invoer een geheel getal is, kunt u ook een oplossing maken met behulp van Value-Map, maar u zou dan een zeer lange zoektabellen moeten aanmaken. En wat gebeurt er later als de projecteisen veranderen en de invoer een decimale waarde wordt, of als u elke zichtbare kleur afzonderlijk op naam moet filteren? Kortom, Altova MapForce is een zeer krachtige grafische weergave van een complete softwaretaaltoolbox die u beschermt tegen de gedetailleerde syntaxis van programmeertalen, en biedt een uitgebreide verzameling componenten die u creatief kunt combineren om uw eigen uitdagingen op het gebied van data-mapping, -conversie en -integratie op te lossen.

Ontdek zelf hoe eenvoudig het is om MapForce toe te passen op uw eigen datamappingsprojecten. Download een gratis proefversie van 30 dagen van MapForce.