Skip to main content

Vad är flödesbaserad programmering?

Flödesbaserad programmering är en metod för att utforma datorapplikationer och arkitekturer som är till skillnad från traditionella strukturerade metoder för applikationsdesign i att data är avsedda att behandlas i en ström av komponenter som inte är anslutna till varandra och använder ett externt meddelandesystem för attkommunicera.Under flödesbaserad programmering placeras fokus på att transformera data genom att använda olika komponenter, som i huvudsak är inkapslade moduler eller funktioner som inte har någon direkt anslutning till de andra komponenterna i programmet.Var och en av dataströmmarna och andra händelser hanteras av ett externt system för meddelande som passerar som inte är till skillnad från vissa typer av nätverksprotokoll, där ett informationspaket (IP) levereras till en modul genom användning av en abstrakt port.Denna komponentbaserade designvy gör det möjligt för en applikation att ha separat utvecklade kodmoduler som bara behöver svara på ett systemmeddelande, bearbeta en IP och sedan släppa IP tillbaka i systemet.Detta tillvägagångssätt är användbart på distribuerade system, nätverk och med internet- och webbaserade programarkitekturer som e-handelsservrar.

En av de grundläggande byggstenarna för flödesbaserad programmering är idén om en isolerad nod, process eller modul.Detta kan betraktas som en del av programkällkoden som inte har några direkta beroenden av andra moduler, vilket nästan gör modulen till en fristående bit av applikationen som kan kallas när den behövs.Varje komponent har inget beroende av att kallas i följd med en annan komponent, så komponenterna i en applikation kan ordnas och användas i vilken ordning som helst, vilket gör att flera unika dataflöden kan existera när information rör sig genom systemet.

Var och en av de enskilda modulerna i flödet-Baserad programmering accepterar data genom ett abstrakt gränssnitt som kallas en port, som fungerar ungefär som en dataport inom ett datornätverk.Data skickas till en port genom en buffert som är en begränsad storlek men förvandlar flera IP: er till en ström som ständigt matas till hamnen.En enda port kan relatera till flera fall av en enda komponent, vilket gör strukturen enkel att använda på ett distribuerat system eller för parallellbehandling.

Uppgifterna i ett informationspaket manövreras genom modulerna av ett externt meddelandesystem.Vid flödesbaserad programmering är detta meddelandesystem separat från modulerna och IP: erna och hanterar endast programflödet genom användning av buffertar som är bundna till portar.Meddelandesystemet har i princip ingen kunskap om vad modulerna är eller gör och ingen verklig oro över vilka data som finns i IP: erna som modulerna bearbetar.

Avdelningarna och modulariteten för var och en av de komponenter som utgör flödesbaserade programmeringsapplikationerlämna sig väl till processer som felsökning och teamorienterad utveckling.Mycket av koden är inkapslad, så källkoden har en hög återanvändbarhetspotential.Detta innebär också att uppgradering eller skalning av en applikation som använder flödesbaserad programmering kan vara enklare än med en mer integrerad applikation, eftersom meddelandesystemet, modulerna och portsystemet kan var och en kan ändras utan att påverka det större programmet.