Co to jest programowanie przepływowe?
Programowanie przepływowe to metoda projektowania aplikacji i architektur komputerowych, która w przeciwieństwie do tradycyjnych strukturalnych metod projektowania aplikacji, ponieważ dane mają być przetwarzane w strumieniu przez komponenty, które nie są ze sobą połączone i wykorzystują zewnętrzny system przesyłania komunikatów do komunikacji . W programowaniu opartym na przepływie nacisk kładzie się na przekształcanie danych przy użyciu różnych komponentów, które w zasadzie są modułami lub funkcjami kapsułkowanymi, które nie mają bezpośredniego połączenia z innymi komponentami w programie. Każdy ze strumieni danych i innych zdarzeń jest zarządzany przez zewnętrzny system przekazywania wiadomości, który jest podobny do niektórych typów protokołów sieciowych, w których pakiet informacyjny (IP) jest dostarczany do modułu za pomocą abstrakcyjnego portu. Ten widok projektu oparty na komponentach pozwala aplikacji mieć osobno opracowane moduły kodu, które muszą tylko odpowiedzieć na komunikat systemowy, przetworzyć adres IP, a następnie zwolnić adres IP z powrotem do systemu. Takie podejście jest przydatne w systemach rozproszonych, sieciach oraz w architekturze programów internetowych i internetowych, takich jak serwery e-commerce.
Jednym z podstawowych elementów programowania przepływowego jest idea izolowanego węzła, procesu lub modułu. Można to uznać za fragment kodu źródłowego programu, który nie ma żadnych bezpośrednich zależności od innych modułów, co prawie czyni moduł samodzielnym elementem aplikacji, który można wywoływać w dowolnym momencie. Każdy komponent nie musi polegać na tym, że jest wywoływany sekwencyjnie z innym komponentem, więc komponenty aplikacji mogą być ustawione i używane w dowolnej kolejności, umożliwiając istnienie wielu unikalnych przepływów danych w miarę przepływu informacji przez system.
Każdy z poszczególnych modułów w programowaniu przepływowym przyjmuje dane przez abstrakcyjny interfejs znany jako port, który działa podobnie jak port danych w sieci komputerowej. Dane są wysyłane do portu przez bufor, który ma ograniczony rozmiar, ale zamienia wiele adresów IP w strumień, który jest stale dostarczany do portu. Pojedynczy port może odnosić się do kilku instancji pojedynczego komponentu, dzięki czemu struktura jest łatwa w użyciu w systemie rozproszonym lub do przetwarzania równoległego.
Dane zawarte w pakiecie informacyjnym są manewrowane przez moduły przez zewnętrzny system przesyłania komunikatów. W programowaniu opartym na przepływie ten system przesyłania komunikatów jest niezależny od modułów i adresów IP i zarządza przepływem programu tylko poprzez użycie buforów powiązanych z portami. System przesyłania wiadomości zasadniczo nie ma wiedzy o tym, co moduły robią lub co robią, i nie ma rzeczywistej obawy o to, jakie dane są zawarte w adresach IP przetwarzanych przez moduły.
Podziały i modułowość każdego ze składników tworzących aplikacje programistyczne oparte na przepływach dobrze nadają się do takich procesów, jak debugowanie i programowanie zorientowane na zespół. Znaczna część kodu jest enkapsulowana, więc kod źródłowy ma wysoki potencjał ponownego wykorzystania. Oznacza to również, że aktualizacja lub skalowanie aplikacji korzystającej z programowania przepływowego może być łatwiejsza niż w przypadku bardziej zintegrowanej aplikacji, ponieważ system przesyłania komunikatów, moduły i system portów można niezależnie zmieniać bez wpływu na większy program.