더북(TheBook)

1.5 반응형 프로그래밍과 다른 프로그래밍 패러다임

 

 

프로그래밍 경력을 쌓는 동안 마주하게 될 모든 새로운 패러다임 때문에 프로그래밍 언어의 원형을 수용하려면 여러분이 가지고 있던 기존 생각들을 바꿔야 할 수도 있습니다. 예를 들어 객체 지향 프로그래밍(OOP, Object-oriented Programming)은 추상화의 중심 단위인 객체 내에 상태(state)를 배치하며, 이 패러다임의 복잡성은 다른 패러다임과 상호 작용할 때 발생합니다. 비슷한 방식으로 FP는 주요 작업 단위로 함수를 사용하며 그 중심에 동작(behavior)을 배치합니다. 그러나 반응형 프로그래밍은 애플리케이션의 상태를 모두 보유하는 모놀리식(monolithic) 데이터 타입이나 컬렉션과 달리 끊임없이 변화하는 스트림의 흐름(flowing stream of change)으로써 다루길 요구합니다.

그러면 이 패러다임 중에서 오직 하나만 선택할 수 있는지 궁금할 수 있습니다. 또는 같은 코드 베이스에서 여러 패러다임을 혼합하여 사용할 수 있는지도 궁금할 수 있습니다. 둘 다 가능합니다! 업계의 많은 저명한 인물들이 이를 증명해냈습니다. 다시 말해, RxJS는 특정 스타일의 개발 또는 디자인 패턴을 사용하게 강요하지 않습니다. 또한, 고맙게도 대부분의 라이브러리와 잘 작동합니다. 뒤에서 살펴보겠지만, 대부분의 경우 DOM 이벤트 핸들러와 같은 기존 이벤트 스트림을 옵저버블에 적용하는 것은 간단합니다. 이 작업을 위해 라이브러리에서 많은 연산자를 제공합니다. 리액트(React)나 리덕스(Redux) 같은 라이브러리를 사용할 때 볼 수 있는 일반적이지 않은 디자인 패턴들도 지원합니다(마지막 장에서 살펴봅니다).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.