1.1 ReactiveX
관찰 가능한 시퀀스를 사용하여 비동기 및 이벤트 기반 프로그램을 구성하기 위한 프로그래밍 패러다임 입니다.
Observer Pattern과 Iterator Pattern과 Functional Programming의 좋은 점들을 조합해서 만들어졌습니다.
Reactive Extension으로 Rx라고 줄여서도 부릅니다.
1.1.1 Rx의 역할
Rx는 크게 생산, 소비, 연산으로 3가지 역할을 가지고 있습니다.
1.1.1.1 생산역할
- 데이터나 이벤트를 생산해서 스트림에 전달해주는 역할을 합니다.
1.1.1.2 소비역할
- 데이터나 이벤트를 소비하는 역할을 합니다.
- 최종 결과를 받아서 처리하는 부분입니다.
1.1.1.3 연산역할
- 생산과 소비 사이에서 데이터나 이벤트를 가공하는 역할을 합니다.
- 주로 Transform, Filter, Combine 등의 작업을 합니다.
1.1.2 Rx의 장점
Rx는 더 좋은 코드를 만들기 위해 4가지의 장점을 가지고 있습니다.
1.1.2.1 Funcional
- 복잡한 상태 기반 프로그래밍을 하지 않고 input/output 기반의 observable stream의 프로그래밍이 가능해집니다.