흐름 기반 프로그래밍이란 무엇입니까?
흐름 기반 프로그래밍은 데이터가 서로 연결되지 않은 구성 요소에 의해 스트림으로 처리되고 외부 메시징 시스템을 사용하여 통신한다는 점에서 기존의 응용 프로그램 설계 방식과 달리 컴퓨터 응용 프로그램 및 아키텍처를 설계하는 방법입니다. . 흐름 기반 프로그래밍에서는 다른 구성 요소를 사용하여 데이터를 변환하는 데 중점을 두는데, 이는 본질적으로 프로그램의 다른 구성 요소에 직접 연결되지 않은 캡슐화 된 모듈 또는 기능입니다. 각 데이터 스트림 및 기타 이벤트는 일부 유형의 네트워크 프로토콜과 다르지 않은 외부 메시지 전달 시스템에 의해 관리되며, 여기서 추상 패킷을 사용하여 정보 패킷 (IP)이 모듈에 전달됩니다. 이 컴포넌트 기반 설계 뷰를 통해 애플리케이션은 시스템 메시지에만 응답하고 IP를 처리 한 다음 IP를 시스템으로 다시 릴리스하기 만하면되는 별도의 코드 모듈을 개발할 수 있습니다. 이 방법은 분산 시스템, 네트워크 및 전자 상거래 서버와 같은 인터넷 및 웹 기반 프로그램 아키텍처에서 유용합니다.
흐름 기반 프로그래밍의 기본 구성 요소 중 하나는 격리 된 노드, 프로세스 또는 모듈이라는 개념입니다. 이것은 다른 모듈에 직접 의존하지 않는 프로그램 소스 코드로 생각할 수 있으며, 필요할 때마다 호출 할 수있는 독립 실행 형 응용 프로그램입니다. 각 구성 요소는 다른 구성 요소와 순차적으로 호출되는 것에 의존하지 않으므로 응용 프로그램의 구성 요소를 순서에 관계없이 정렬하여 사용할 수 있으므로 정보가 시스템을 통해 이동할 때 여러 고유 한 데이터 흐름이 존재할 수 있습니다.
흐름 기반 프로그래밍의 각 개별 모듈은 포트라고하는 추상 인터페이스를 통해 데이터를 받아들입니다.이 인터페이스는 컴퓨터 네트워크 내의 데이터 포트와 매우 유사하게 작동합니다. 데이터는 제한된 크기의 버퍼를 통해 포트로 전송되지만 여러 IP를 포트로 지속적으로 공급되는 스트림으로 변환합니다. 단일 포트는 단일 구성 요소의 여러 인스턴스와 관련 될 수 있으므로 분산 시스템 또는 병렬 처리에서 구조를 쉽게 사용할 수 있습니다.
정보 패킷에 포함 된 데이터는 외부 메시징 시스템에 의해 모듈을 통해 조작됩니다. 플로우 기반 프로그래밍에서이 메시징 시스템은 모듈 및 IP와 분리되어 있으며 포트에 바인드 된 버퍼를 사용하여 프로그램 플로우 만 관리합니다. 메시징 시스템은 기본적으로 모듈이 수행하고 있거나 수행중인 작업에 대한 지식이 없으며 모듈이 처리중인 IP 내에 어떤 데이터가 포함되어 있는지에 대한 실제 우려가 없습니다.
흐름 기반 프로그래밍 응용 프로그램을 구성하는 각 구성 요소의 분할 및 모듈화는 디버깅 및 팀 중심 개발과 같은 프로세스에 적합합니다. 많은 코드가 캡슐화되어 있으므로 소스 코드의 재사용 가능성이 높습니다. 이는 메시징 시스템, 모듈 및 포트 시스템이 더 큰 프로그램에 영향을주지 않고 독립적으로 변경 될 수 있기 때문에 흐름 기반 프로그래밍을 사용하는 응용 프로그램을보다 통합 된 응용 프로그램보다 업그레이드 또는 확장하는 것이 더 쉬울 수 있음을 의미합니다.