(Udemy의 Mastering RxSwift in iOS 강의를 듣고 정리한 글입니다.)
회사에서 개발하려면 MVVM이랑 RxSwift는 모르면 안 될 것 같아서 RxSwift 공부 시작..!! ^-ㅠ
함수형 프로그래밍에서 모든 변수는 상수이기 때문에 값을 변경할 수 없다.
mutable state는 누구나 값을 마음대로 변경할 수 있다는 것
⇒ concurrency (동시성) 관련 작업을 할 때 데드락과 같은 문제가 일어날 수 있다.
함수형 프로그래밍에서는 모든 것이 immutable state이기 때문에 값을 변경할 수 없다.
⇒ 데드락 등의 문제도 일어나지 않고, 다른 것들에 대한 의존 관계도 가지지 않는다!
고차함수(Higher-Order Function, HOF)는 아래 조건 중 하나 이상을 만족하는 함수를 말한다.
즉, 함수를 다루는 함수라고 할 수 있음!
함수형 프로그래밍에서 모든 것은 HOF이고 Pure Function임!
테이블 뷰, 탭 바, 정렬/필터 버튼이 있는 앱을 생각해보자
이 앱에는 이미지 다운로드, 탭 등등 다양한 action들이 있을 거고, 이런 액션들은 모두 비동기적으로 접근할 수 있어야 한다. 이때 Notification Center, 델리게이트 패턴, GCD, 클로저를 사용해야 하는데 얘네는 사실 비동기를 위해 완전히 설계된 것이 아님!! 그래서 async
같은 코드들을 더 추가해줘야 한다는 문제가 있다.
RxSwift를 사용하면 비동기 코드를 더욱 간결하고 유지하기 쉽게 작성할 수 있다 😎