Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Transformações funcionais puras são aplicáveis em uma ampla variedade de situações.
A abordagem de transformação funcional é ideal para consultar e manipular dados estruturados; portanto, ele se encaixa bem com as tecnologias LINQ. No entanto, a transformação funcional tem uma aplicabilidade muito maior do que o uso com LINQ. Qualquer processo em que o foco principal esteja na transformação de dados de um formulário para outro provavelmente deve ser considerado como um candidato para a transformação funcional.
Essa abordagem é aplicável a muitos problemas que, à primeira vista, podem não parecer candidatos. Usada em conjunto com ou separadamente do LINQ, a transformação funcional deve ser considerada para as seguintes áreas:
- Documentos baseados em XML. Dados bem formados de qualquer dialeto XML podem ser facilmente manipulados por meio da transformação funcional. Para obter mais informações, consulte a transformação funcional de XML.
- Outros formatos de arquivo estruturados. De arquivos Windows.ini a documentos de texto sem formatação, a maioria dos arquivos tem alguma estrutura que se presta à análise e à transformação.
- Protocolos de streaming de dados. A codificação de dados e a decodificação de dados de protocolos de comunicação geralmente podem ser representadas por uma transformação funcional simples.
- Dados RDBMS e OODBMS. Bancos de dados relacionais e orientados a objetos, assim como XML, são fontes de dados estruturadas amplamente usadas.
- Soluções matemáticas, estatísticas e científicas. Esses campos tendem a manipular grandes conjuntos de dados para ajudar o usuário a visualizar, estimar ou realmente resolver problemas não triviais.
Conforme descrito em Refatorar em funções puras, usar funções puras é um exemplo de programação funcional. Além de seus benefícios imediatos, o uso de funções puras fornece uma experiência valiosa em pensar sobre problemas de uma perspectiva de transformação funcional. Essa abordagem também pode ter um grande impacto no design de programas e classes. Isso é especialmente verdadeiro quando um problema se presta a uma solução de transformação de dados, conforme descrito acima.
Embora estejam além do escopo deste tutorial, os designs que são influenciados pela perspectiva de transformação funcional tendem a se concentrar mais em processos do que em objetos como atores, e a solução resultante tende a ser implementada como uma série de transformações em grande escala, em vez de alterações de estado de objeto individuais.
Novamente, lembre-se de que o C# e o Visual Basic dão suporte a abordagens imperativas e funcionais, portanto, o melhor design para seu aplicativo pode incorporar elementos de ambos.