Combine - Combine에 대해

Groot·2023년 4월 3일
0

TIL

목록 보기
132/153
post-thumbnail

TIL

🌱 난 오늘 무엇을 공부했을까?

📌 Combine - Combine에 대해

📍 Combine이란?

  • 공식문서의 한 문장표현 : 여러가지 연산자를 결합하여 비동기 이벤트를 처리하는 방법을 커스텀해서 사용할 수 있도록 하는 프레임워크.
  • 시간 경과에 따라 값을 처리하기 위한 선언형 API를 제공하는 프레임 워크이다.

📍 방식요약

  • publishers가 시간에 따라 변경될 수 있는 값을 보낼 수 있도록 선언하고 subscriberspublishers로 부터 값을 받을 수 있다.

  • publishers 프로토콜은 시간이 지남에 따라 일련의 값을 전달할 수 있는 유형을 선언한다.

  • publishersupstream publishers로부터 받은 값에 따라 적절하게 변형하고 이를 다시 게시하는 여러 연산자가 있다.

  • publishers 체인의 끝에서 subscribers는 요소를 받는 대로 요소에 대해 작동한다.

  • publisherssubscribers명시적으로 요청한 경우에만 값을 내보낸다.

    • 이렇게 하면 subscribers 코드가 연결된 publishers로부터 이벤트를 받는 속도를 제어할 수 있다.

📍 Foundation 에서의 Combine

  • Timer, NotificationCenter 및 URLSession을 포함하여 publishers를 통해 기능을 사용하고 있다.

  • Combine은 또한 키-값 관찰을 준수하는 모든 프로퍼티에 대한 publishers가 내장되어 제공된다.

📍 Combine의 이점?

  • 이벤트 처리 코드를 중앙 집중화할 수 있다.

  • 중첩 클로저 및 규칙 기반 콜백과 같은 번거로운 기술을 제거할 수 있다.

  • 위 두가지를 통해 코드를 유지보수와 가독성에 이점이 있다.

📍 나의 생각

  • Combine은 특정 비동기 이벤트의 결과를 구독이라는 방법으로 관찰하며, 여러가지 연산자를 이용하여 다양한 publishers들을 결합해서 사용하는 비동기 처리방식이다.
profile
I Am Groot

0개의 댓글