더북(TheBook)

2.2 스트림의 데이터 기반 접근 방법

 

 

RxJS는 데이터 기반 프로그래밍이라는 개발 스타일을 장려합니다. 데이터 기반 접근 방식은 애플리케이션의 동작과 이를 지나는 데이터를 분리하게끔 코드를 작성하는 방법입니다. 이 접근 방식은 RxJS의 핵심적인 디자인 의사 결정이며 동일한 패러다임으로 배열, 마우스 클릭 또는 AJAX 호출 데이터를 처리할 수 있는 주된 이유입니다.

객체 지향 접근법에서는 데이터 자체보다 지원 구조에 중점을 더 둡니다. 그래서 자바와 같은 순수 객체 지향 언어가 Array, ArrayList, LinkedList, DoublyLinkedList, ConcurrentLinkedList처럼 각각 다른 사용 사례를 다루는 요소들의 순차적 컬렉션을 저장하기 위해 다양한 구현을 갖게 됩니다. 다른 방식으로 살펴보면, 배달도 하는 꽃집을 운영한다고 상상해 봅시다. 이 경우 비즈니스는 꽃을 가져오고, 자르고, 포장하고, 주문을 처리하고, 발송하는 겁니다. 이 작업들은 모두 비즈니스 로직의 일부입니다. 즉, 고객들이 중요하게 생각하고 수익을 내는 부분입니다. 이제 이 작업들 외에도 배달용 차량을 설계한다고 해봅시다. 차량을 제작하는 것만으로도 풀 타임 작업이며 수익을 내는 주요 비즈니스에 집중하지 못하게 됩니다.

관심 있는 데이터와 검색 엔진, 웹 사이트, 비디오 게임들을 있게 한 데이터는 소프트웨어 디자인에서 꽃과 같은 컴포넌트입니다. 그러므로 소프트웨어를 만드는 것은 객체 지향 프로그래밍에서처럼 실세계 객체의 근사치를 만드는 방법보다는 데이터를 조작하는 방법에 관한 것이어야 합니다. 데이터를 전면에 내세워 시스템 동작과 분리하는 것이 데이터 기반/데이터 중심 디자인의 핵심입니다. 이와 비슷하게, 데이터가 들어 있는 객체에 함수를 느슨하게 연결하는 것은 FP 디자인의 원칙이며 여기서 확장된 개념이 바로 RP입니다.

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