Che cos'è la programmazione basata sul flusso?

La programmazione basata sul flusso è un metodo di progettazione di applicazioni e architetture per computer che è diverso dai metodi strutturati tradizionali di progettazione di applicazioni in quanto i dati sono destinati a essere elaborati in un flusso da componenti che non sono collegati tra loro e utilizzano un sistema di messaggistica esterno per comunicare . Nella programmazione basata sul flusso, l'attenzione è focalizzata sulla trasformazione dei dati utilizzando componenti diversi, che essenzialmente sono moduli o funzioni incapsulati che non hanno una connessione diretta con gli altri componenti del programma. Ciascuno dei flussi di dati e altri eventi è gestito da un sistema esterno di passaggio dei messaggi che non è diverso da alcuni tipi di protocolli di rete, in cui un pacchetto di informazioni (IP) viene consegnato a un modulo mediante 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 nuovamente l'IP nel sistema. Questo approccio è utile su sistemi distribuiti, reti e con architetture di programmi basate su Internet e Web come server di e-commerce.

Uno dei mattoni fondamentali della programmazione basata sul flusso è l'idea di un nodo, processo o modulo isolato. Questo può essere pensato come un pezzo di codice sorgente del programma che non ha dipendenze dirette da nessun altro modulo, quasi trasformando il modulo in un pezzo autonomo dell'applicazione che può essere chiamato ogni volta che è necessario. Ogni componente non fa affidamento sul fatto di essere chiamato in sequenza con un altro componente, quindi i componenti di un'applicazione possono essere organizzati e utilizzati in qualsiasi ordine, consentendo l'esistenza di più flussi di dati univoci mentre le informazioni si spostano nel sistema.

Ciascuno dei singoli moduli nella programmazione basata sul flusso accetta i dati attraverso un'interfaccia astratta nota come porta, che funziona in modo molto simile a una porta dati all'interno di una rete di computer. I dati vengono inviati a una porta tramite un buffer di dimensioni limitate, ma trasforma più IP in un flusso che viene costantemente inviato alla porta. Una singola porta può riguardare 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 gestiti attraverso i moduli da un sistema di messaggistica esterno. Nella programmazione basata sul flusso, questo sistema di messaggistica è separato dai moduli e dagli IP e gestisce il flusso del programma solo attraverso l'uso di buffer associati alle porte. Il sistema di messaggistica in pratica non ha alcuna conoscenza di ciò che i moduli stanno o stanno facendo e non è realmente preoccupato di quali dati siano contenuti negli IP che i moduli stanno elaborando.

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

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?