Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Pure functionele transformaties zijn van toepassing in een groot aantal situaties.
De functionele transformatiebenadering is ideaal voor het uitvoeren van query's en het bewerken van gestructureerde gegevens; daarom past het goed bij LINQ-technologieën. Functionele transformatie heeft echter een veel bredere toepasselijkheid dan het gebruik met LINQ. Elk proces waarbij de belangrijkste focus ligt op het transformeren van gegevens van het ene formulier naar het andere, moet waarschijnlijk worden beschouwd als kandidaat voor functionele transformatie.
Deze aanpak is van toepassing op veel problemen die op het eerste gezicht misschien niet als een goede kandidaat lijken. Wordt gebruikt in combinatie met of los van LINQ, functionele transformatie moet worden overwogen voor de volgende gebieden:
- Op XML gebaseerde documenten. Goed gevormde gegevens van elk XML-dialect kunnen eenvoudig worden bewerkt via functionele transformatie. Zie Functionele transformatie van XML voor meer informatie.
- Andere gestructureerde bestandsindelingen. Van Windows.ini bestanden tot documenten met tekst zonder opmaak hebben de meeste bestanden een structuur die zich leent voor analyse en transformatie.
- Protocollen voor gegevensstreaming. Het coderen van gegevens in en het decoderen van gegevens uit communicatieprotocollen kan vaak worden vertegenwoordigd door een eenvoudige functionele transformatie.
- RDBMS- en OODBMS-gegevens. Relationele en objectgeoriënteerde databases, net als XML, zijn veelgebruikte gestructureerde gegevensbronnen.
- Wiskunde-, statistiek- en wetenschapsoplossingen. Deze velden manipuleren meestal grote gegevenssets om de gebruiker te helpen bij het visualiseren, schatten of daadwerkelijk oplossen van niet-triviale problemen.
Zoals beschreven in Refactor in pure functies, is het gebruik van pure functies een voorbeeld van functioneel programmeren. Naast hun onmiddellijke voordelen biedt het gebruik van pure functies waardevolle ervaring bij het nadenken over problemen vanuit een functioneel transformatieperspectief. Deze aanpak kan ook grote gevolgen hebben voor het ontwerpen van programma's en klassen. Dit geldt met name wanneer een probleem zich leent voor een oplossing voor gegevenstransformatie, zoals hierboven beschreven.
Hoewel ze buiten het bereik van deze zelfstudie vallen, zijn ontwerpen die worden beïnvloed door het perspectief van functionele transformatie meestal gericht op processen die meer zijn dan op objecten als actoren, en de resulterende oplossing wordt meestal geïmplementeerd als een reeks grootschalige transformaties, in plaats van afzonderlijke objectstatuswijzigingen.
Vergeet niet dat C# en Visual Basic zowel imperatieve als functionele benaderingen ondersteunen, dus het beste ontwerp voor uw toepassing kan elementen van beide bevatten.