Skip to main content

Cos'è la programmazione basata sul flusso?

La programmazione basata sul flusso è un metodo per progettare applicazioni informatiche e architetture che sono diversi dai tradizionali metodi strutturati di progettazione dell'applicazione in tali dati sono destinati a essere elaborati in un flusso da componenti che non sono collegati tra loro e utilizzano un sistema di messaggistica esterno percomunicare.Sotto la programmazione basata sul flusso, il focus viene inserito sulla trasformazione dei dati utilizzando componenti diversi, che essenzialmente sono moduli o funzioni incapsulate che non hanno alcuna connessione diretta agli altri componenti del programma.Ognuno dei flussi di dati e altri eventi è gestito da un sistema esterno di passaggio di messaggi che non è diverso da alcuni tipi di protocolli di rete, in cui un pacchetto di informazioni (IP) viene consegnato a un modulo attraverso l'uso di una porta astratta.Questa vista di progettazione basata su componenti consente a un'applicazione di avere moduli di codice sviluppati separatamente che devono solo rispondere a un messaggio di sistema, elaborare un IP e quindi rilasciare l'IP nel sistema.Questo approccio è utile su sistemi distribuiti, reti e con architetture di programmi basate su Internet e sul Web come i server di e-commerce.

Uno dei blocchi fondamentali della programmazione basata sul flusso è l'idea di un nodo, un processo o un modulo isolato.Questo può essere pensato come un codice sorgente del programma che non ha dipendenze dirette da altri moduli, rendendo quasi il modulo un pezzo autonomo dell'applicazione che può essere chiamato ogni volta che è necessario.Ogni componente non fa affidamento sull'essere chiamato in sequenza con un altro componente, quindi i componenti di un'applicazione possono essere disposti e utilizzati in qualsiasi ordine, consentendo a più flussi di dati univoci di esistere man mano che le informazioni si muovono attraverso il sistema.

ciascuno dei singoli moduli nel flusso-La programmazione basata accetta i dati attraverso un'interfaccia astratta nota come porta, che funziona in modo molto simile a una porta di dati all'interno di una rete di computer.I dati vengono inviati a una porta attraverso un buffer di dimensioni limitate ma trasforma più IP in un flusso che viene costantemente alimentato alla porta.Una sola porta può essere riferita a diverse istanze di un singolo componente, rendendo la struttura facile da usare su un sistema distribuito o per l'elaborazione parallela.

I dati contenuti in un pacchetto di informazioni vengono manovrati attraverso i moduli da un sistema di messaggistica esterna.Nella programmazione basata sul flusso, questo sistema di messaggistica è separato dai moduli e dagli IP e gestisce solo il flusso del programma attraverso l'uso di buffer che sono legati alle porte.Il sistema di messaggistica non ha sostanzialmente alcuna conoscenza di ciò che i moduli stanno o non stanno facendo e nessuna reale preoccupazione per quali dati sono contenuti all'interno degli IP i moduli elaborano.

Le divisioni e la modularità di ciascuno dei componenti che costituiscono applicazioni di programmazione basate sul flussoSi prestano bene a processi come il debug e lo sviluppo orientato al team.Gran parte del codice è incapsulato, quindi il codice sorgente ha un elevato potenziale di riusabilità.Ciò significa anche che l'aggiornamento o il ridimensionamento di un'applicazione che utilizza una programmazione basata sul flusso può essere più semplice rispetto all'applicazione più integrata, poiché il sistema di messaggistica, i moduli e il sistema di porta possono essere modificati in modo indipendente senza influire sul programma più ampio.