728x90
정의
객체지향 프로그래밍, 함수형 프로그래밍과 같은 프로그래밍 기법으로
데이터의 흐름, 변경사항을 전파하는데에 중점을 둔 프로그래밍 패러다임 입니다
즉, 주변 환경에 변화가 발생하면 이벤트를 받아 동작하도록 설계하는 방식입니다
이래 스프레드 시트 예시를 보면 빠르게 이해할 수 있습니다
A1과 B1 셀에는 각각 5와 10이 있습니다
C1셀은 A1과 B1을 더한값을 가지고 D1은 A1와 C1을 더한 값을 갖는것으로 선언했습니다
여기에 B1의 값을 변경하게 된다면 이벤트가 전파되어 C1의 값이 변경되고 C1값을 가진 D1까지 값이 변경됩니다
B1의 값이 변경되면서 C1값이 변경되고 D1값까지 변경되는 것을 데이터흐름이 발생했다고 표현합니다
기존 패러다임과의 차이점
반응형 프로그래밍에는 두가지 포인트가 있습니다
선언적 프로그래밍
과정표현이 아닌 무엇을 해야하는가를 정의해야 합니다
위 엑셀에서 C1셀은 'A1과 B1을 더한다'라고 정의되어 있을 뿐 값을 어떻게 꺼내오는지 등을 정의하지 않습니다
PUSH방식의 데이터전파
B1의 값이 변경되면 이 변경사항이 C1과 D1에 자동으로 전파되어 값이 수정됩니다
정리
반응형 프로그래밍 방식은 모든 데이터를 스트림으로 두고 스트림내에 존재하는 데이터가 변경되면 이를 전파해 해당 데이터를 구독하는 데이터는 모두 영향을 받습니다
728x90
'💻CS > 정리용' 카테고리의 다른 글
GitHub - 뱃지 달기 (0) | 2022.07.06 |
---|---|
Git- Git Authentication Failed 사용자 인증 업데이트 방법 (0) | 2022.06.22 |
무료 HTML템플릿 정리, Free HTML Template (0) | 2022.02.05 |
IntelliJ 호환성오류 ( Invaild Gradle JDK configuragtion found) (0) | 2021.11.11 |
jquery 함수 오류(datetimepicker is not a function) (0) | 2021.11.09 |
댓글