Skip to main content

Hvad er flowbaseret programmering?

Flowbaseret programmering er en metode til at designe computerapplikationer og arkitekturer, der er i modsætning til traditionelle strukturerede metoder til applikationsdesign i disse data, der er beregnet til at blive behandlet i en strøm af komponenter, der ikke er forbundet til hinanden og bruger et eksternt meddelelsessystem tilkommunikere.Under flowbaseret programmering placeres fokus på at transformere data ved hjælp af forskellige komponenter, som i det væsentlige er indkapslede moduler eller funktioner, der ikke har nogen direkte forbindelse til de andre komponenter i programmet.Hver af datastrømmene og andre begivenheder administreres af et eksternt meddelelsessystem, der passerer, der ikke er i modsætning til nogle typer netværksprotokoller, hvor en informationspakke (IP) leveres til et modul ved hjælp af en abstrakt port.Denne komponentbaserede designvisning gør det muligt for en applikation at have udviklet kodemoduler separat, der kun skal svare på en systemmeddelelse, behandle en IP og derefter frigive IP tilbage i systemet.Denne tilgang er nyttig på distribuerede systemer, netværk og med internet- og webbaserede programarkitekturer såsom e-handelsservere.

En af de grundlæggende byggesten til flowbaseret programmering er ideen om en isoleret node, proces eller modul.Dette kan betragtes som et stykke programkildekode, der ikke har nogen direkte afhængigheder på andre moduler, der næsten gør modulet til et fristående stykke af applikationen, der kan kaldes, når det er nødvendigt.Hver komponent har ingen afhængighed af at blive kaldt sekventielt med en anden komponent, så komponenterne i en applikation kan arrangeres og bruges i enhver rækkefølge, hvilket gør det muligt for flere unikke dataflows at eksistere, når information bevæger sig gennem systemet.

Hver af de individuelle moduler i flow-baseret programmering accepterer data gennem en abstrakt grænseflade kendt som en port, der fungerer meget som en dataport inden for et computernetværk.Data sendes til en port gennem en buffer, der er en begrænset størrelse, men forvandler flere IP'er til en strøm, der konstant føres til porten.En enkelt port kan forholde sig til flere tilfælde af en enkelt komponent, hvilket gør strukturen let at bruge på et distribueret system eller til parallel behandling.

Dataene indeholdt i en informationspakke manøvreres gennem modulerne med et eksternt messagesystem.I flowbaseret programmering er dette messaging-system adskilt fra modulerne og IP'erne og administrerer kun programmets strømning gennem brugen af buffere, der er bundet til porte.Meddelelsessystemet har dybest set ingen viden om, hvad modulerne gør eller gør, og ingen reel bekymring for, hvilke data der er indeholdt i IPS, modulerne behandler.

Divisionerne og modulariteten af hver af de komponenter, der udgør flowbaserede programmeringsapplikationeregner sig godt til processer såsom debugging og teamorienteret udvikling.Meget af koden er indkapslet, så kildekoden har et højt genanvendelighedspotentiale.Dette betyder også, at opgradering eller skalering af en applikation, der bruger flowbaseret programmering, kan være lettere end med en mere integreret applikation, fordi meddelelsessystemet, modulerne og portsystemet hver kan ændres uafhængigt uden at påvirke det større program.