C# Orientado a Eventos - Revista .net Magazine 100 - Parte 2
Este artigo introduz o estudo de Expressões Lambda no .Net Framework em comparação ao Cálculo Lambda matemático, demonstrando sua utilidade e facilidade de uso.
C# Orientado a Eventos - Parte 1
Dando continuidade ao artigo C# Orientado a Eventos – delegates e events, este artigo introduz o estudo de Expressões Lambda no .Net Framework em comparação ao Cálculo Lambda matemático, demonstrando sua utilidade e facilidade de uso.
Em que situação o tema é útil
A expressão lambda é recomendada para a escrita de métodos de extensão simplificados, normalmente orientados a funções matemáticas ou de operação de coleções.
Sua utilização visa uma codificação fluente, desmembrando algoritmos complexos em algoritmos mais simplificados e interdependentes.
Expressões Lambda
Neste artigo iremos abordar o estudo de expressões lambda em comparação ao cálculo lambda, com o intuito de demonstrarmos desmembramento de processos de um algoritmo, estendendo o estudo de delegates e introduzindo o estudo de coleções na api System.Linq.
Demonstraremos como funcionam internamente algumas estruturas do Microsoft Linq que se utilizam desta facilidade matemática.
A matemática é a base para a solução de qualquer algoritmo computacional, por isso é fundamental o conhecimento de alguns conceitos desta ciência para a elaboração da análise de um sistema sólido.
Um fluxo de trabalho conciso requer o desmembramento de fluxos de forma lógica com o intuito obter um resultado com o mínimo de falhas. Este é o paradigma Divide and Conquer (dividir e conquistar) que consiste em quebrar um processo em sub processos menores até que esses se tornem simples o suficiente para serem solucionados diretamente.
A organização de processos em algoritmos já foi largamente implementada em paradigmas procedurais, posteriormente evoluindo ao paradigma orientado a objetos com o intuito de criar segmentações mais definidas para cada passo.
Mesmo diante destes recursos nos deparamos com algumas tarefas muito repetitivas e recursivas que poderiam ser divididas em algoritmos mais simples, como, por exemplo, a varredura de uma lista de objetos para que seja montada uma lista de novos objetos, o agrupamento de uma coleção de dados ou um somatório baseado em parâmetros pré-definidos.
Atentos para o fato de que um computador funciona com cálculos matemáticos, é natural pensarmos que algumas metodologias aritméticas possam agregar mais agilidade e facilidade na execução de algumas etapas de um algoritmo, dentre estas metodologias destacamos o cálculo lambda (Nota do DevMan 1).
Nota do Devman 1
O Cálculo Lambda foi introduzido pelo matemático Alonzo Church na década de 1930, provendo uma semântica simplificada para o estudo formalizado de propriedades computacionais. Consiste em resolver problemas de forma lógica por intermédio de fenômenos relacionados com ligação e substituição de variáveis.
Imagine um cálculo de juros simples definido pela equação M = V + (V * T/100), onde V é o valor monetário, T é a taxa de juros.
Trazendo a equação para um cálculo lambda teremos a seguinte formulação:
juros(T, V) => V + (V * T/100) ou (T, V) => V + (V * T/100)
Neste primeiro momento deveremos informar os dois parâmetros para que a função tenha seu valor calculado, conforme a Listagem 1.
Listagem 1. Cálculo Lambda para juros simples
1 (T, V) => V + (V * T/100) (5,100)
2 = 100 + (100 * 5/100)
3 = 105
Esta função utiliza dois argumentos (V e T), mas podemos transformá-la de tal modo que ela receba um parâmetro inicialmente e finalmente o parâmetro restante."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo