O que é programação baseada em fluxo?

A programação baseada em fluxo é um método de projetar aplicativos e arquiteturas de computador que é diferente dos métodos estruturados tradicionais de design de aplicativos, pois os dados devem ser processados ​​em um fluxo por componentes que não estão conectados entre si e usam um sistema de mensagens externo para se comunicar. . Sob a programação baseada em fluxo, o foco é na transformação de dados usando componentes diferentes, que são essencialmente módulos ou funções encapsulados que não têm conexão direta com os outros componentes do programa. Cada um dos fluxos de dados e outros eventos é gerenciado por um sistema externo de passagem de mensagens que não é diferente de alguns tipos de protocolos de rede, nos quais um pacote de informações (IP) é entregue a um módulo através do uso de uma porta abstrata. Essa visualização de design baseada em componentes permite que um aplicativo tenha módulos de código desenvolvidos separadamente, que precisam apenas responder a uma mensagem do sistema, processar um IP e liberá-lo novamente no sistema. Essa abordagem é útil em sistemas distribuídos, redes e com arquiteturas de programas da Internet e da Web, como servidores de comércio eletrônico.

Um dos elementos fundamentais da programação baseada em fluxo é a idéia de um nó, processo ou módulo isolado. Isso pode ser pensado como uma parte do código-fonte do programa que não possui nenhuma dependência direta de outros módulos, quase tornando o módulo uma parte independente do aplicativo que pode ser chamada sempre que necessário. Cada componente não depende de ser chamado seqüencialmente com outro componente, portanto, os componentes de um aplicativo podem ser organizados e usados ​​em qualquer ordem, permitindo a existência de vários fluxos de dados únicos à medida que a informação se move pelo sistema.

Cada um dos módulos individuais na programação baseada em fluxo aceita dados por meio de uma interface abstrata conhecida como porta, que opera como uma porta de dados em uma rede de computadores. Os dados são enviados para uma porta através de um buffer de tamanho limitado, mas transforma vários IPs em um fluxo que é constantemente alimentado na porta. Uma única porta pode estar relacionada a várias instâncias de um único componente, facilitando o uso da estrutura em um sistema distribuído ou para processamento paralelo.

Os dados contidos em um pacote de informações são manobrados através dos módulos por um sistema de mensagens externo. Na programação baseada em fluxo, esse sistema de mensagens é separado dos módulos e IPs e gerencia apenas o fluxo do programa através do uso de buffers vinculados às portas. O sistema de mensagens basicamente não tem conhecimento do que os módulos estão ou estão fazendo e nenhuma preocupação real sobre quais dados estão contidos nos IPs que os módulos estão processando.

As divisões e a modularidade de cada um dos componentes que constituem aplicativos de programação baseados em fluxo se prestam bem a processos como depuração e desenvolvimento orientado a equipes. Grande parte do código é encapsulado, portanto, o código fonte tem um alto potencial de reutilização. Isso também significa que atualizar ou dimensionar um aplicativo que usa programação baseada em fluxo pode ser mais fácil do que com um aplicativo mais integrado, porque o sistema de mensagens, os módulos e o sistema de portas podem ser alterados independentemente, sem afetar o programa maior.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?