Dataflow Programming com C# – Criando Variáveis e Operações

Standard

Conhecemos muito bem a tradicional programação imperativa, onde o estado de nossas variáveis são mutáveis e existe uma sequência pré-definida de comandos para que sejam executados. Já o paradigma de Dataflow (Fluxo de Dados) Programming segue um raciocínio diferente, do tipo “faça apenas quando receber algo”, um exemplo bem simples de como isso funciona: Imagine uma fábrica de roupas com seus dez funcionários, porém, para que eles comecem a trabalhar, primeiro devem receber os tecidos, ou seja, na programação com fluxo de dados a execução do programa depende dos dados de entrada.

A partir do .NET framework 4.5 já é possível utilizar os recursos da programação com fluxo de dados nativamente, utilizando para tanto a biblioteca System.Threading.Tasks.Dataflow. Porém, meu objetivo neste post é outro Tongue out, irei demonstrar como podemos criar variáveis e realizar operações com fluxo de dados em versões anteriores do framework, para ser mais direto irei utilizar a versão 4.0 com um recurso chamado TPL (Task Parallel Library) para programação paralela. Continue reading