Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le trasformazioni funzionali pure sono applicabili in un'ampia gamma di situazioni.
L'approccio di trasformazione funzionale è ideale per l'esecuzione di query e la modifica di dati strutturati; pertanto si adatta bene con le tecnologie LINQ. Tuttavia, la trasformazione funzionale ha un'applicabilità molto più ampia rispetto all'uso con LINQ. Qualsiasi processo in cui l'obiettivo principale è la trasformazione dei dati da una forma a un'altra dovrebbe essere probabilmente considerato come candidato per la trasformazione funzionale.
Questo approccio è applicabile a molti problemi che potrebbero non sembrare a prima vista un candidato. Usato in combinazione con o separatamente da LINQ, la trasformazione funzionale deve essere considerata per le aree seguenti:
- Documenti basati su XML. I dati ben formati di qualsiasi dialetto XML possono essere facilmente manipolati tramite la trasformazione funzionale. Per altre informazioni, vedere Trasformazione funzionale di XML.
- Altri formati di file strutturati. Dalla Windows.ini file ai documenti di testo normale, la maggior parte dei file ha una struttura che si presta all'analisi e alla trasformazione.
- Protocolli di streaming dei dati. La codifica dei dati in e la decodifica dei dati dai protocolli di comunicazione spesso possono essere rappresentati da una semplice trasformazione funzionale.
- Dati RDBMS e OODBMS. I database relazionali e orientati agli oggetti, proprio come XML, sono origini dati strutturate ampiamente usate.
- Soluzioni matematiche, statistiche e scientifiche. Questi campi tendono a modificare set di dati di grandi dimensioni per aiutare l'utente a visualizzare, stimare o risolvere effettivamente problemi non semplici.
Come descritto in Refactor in funzioni pure, l'uso di funzioni pure è un esempio di programmazione funzionale. Oltre ai vantaggi immediati, l'uso di funzioni pure offre un'esperienza preziosa nel pensare ai problemi dal punto di vista della trasformazione funzionale. Questo approccio può anche avere un impatto significativo sulla progettazione di programmi e classi. Ciò è particolarmente vero quando un problema si presta a una soluzione di trasformazione dei dati come descritto in precedenza.
Anche se non rientrano nell'ambito di questa esercitazione, le progettazioni influenzate dalla prospettiva della trasformazione funzionale tendono a allineare al centro i processi più che sugli oggetti come attori e la soluzione risultante tende a essere implementata come una serie di trasformazioni su larga scala, anziché modifiche dello stato di un singolo oggetto.
Anche in questo caso, tenere presente che C# e Visual Basic supportano approcci imperativi e funzionali, in modo che la progettazione ottimale per l'applicazione possa incorporare elementi di entrambi.