더북(TheBook)

객체 지향 방식으로 코드를 작성할 때 문제를 컴포넌트, 상호 작용, 상태로 분해하는 방법을 알아보았습니다. 이 방식의 분해는 반복적으로 많은 수준에서 일어나며, 이를 통해 마지막으로 잘 정의된 상호 작용 집합을 구현하는 응집성 있는 클래스들을 얻을 때까지 각 부분이 더 많은 컴포넌트로 세분화됩니다. 이런 이유로 객체 지향 접근 방식에서 클래스가 주요 작업 단위입니다. 컴포넌트를 작성할 때마다 클래스는 컴포넌트와 연관 상태를 가지며 구조화된 방식으로 해당 클래스의 상태를 조작하면 애플리케이션의 로직이 개선됩니다.

예를 들어, 일반적인 인터넷 뱅킹 사이트를 생각해 봅시다. 뱅킹 시스템에는 입출금이나 송금과 관련된 비즈니스 로직뿐 아니라 계좌와 사용자 개인 정보 같은 속성을 저장하고 관리하는 도메인 모델을 캡슐화하는 모듈이 포함되어 있습니다. 이 속성들의 상태를 조작(동작)하면 데이터가 원하는 결괏값으로 변환됩니다. 다시 말해, 동작은 시스템 상태에 대한 지속적인 변이(mutation)에 의해 좌우됩니다. 이러한 시스템을 객체 지향 방식으로 설계한다면 작업 단위는 계좌, 사용자, 돈 등을 모델링하는 클래스가 됩니다.

그런데 RxJS 프로그래밍은 조금 다르게 작동합니다. 일반적으로 RP에서의 기본 작업 단위는 스트림입니다.

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