본문 바로가기

Unity22

UniRx의 작동 원리 (3) Observable을 다루는 방법 ★Observable을 생성하는 방법 Observable을 만드는 방법은 여러가지가 있습니다. 스트림 소스가 되는 오브젝트 (ex Subject 등)을 사용한다. 팩토리 메소드를 사용한다. UniRx가 제공하는 Observable을 그대로 이용한다. 데이터 구조에서 변환하기 각각 만드는 방법에 대해서는 아래에 기술합니다. Observable에서 사용 가능한 메시지 ■ OnNext 메시지 Observable에서 메시지를 전달하는 경우 기본으로 OnNext 메시지를 사용합니다. IObservable의 T(type)이 의미가 없을 경우 UniRx.Unit 유형을 사용 합니다. //남은 시간 [SerializeField] private float countTimeSeconds = 30f; //Async subj.. 2022. 11. 27.
UniRx의 작동 원리 (2) - Observable Observer 객체를 묶어서 관리하기 위한 Subject Subject 객체는 IObservable를 구현하고 있는 객체입니다. Subject는 Observer를 등록할 수 있으며 이벤트가 발생할 때 마다 각 Observer에게 메시지를 발행할 수 있습니다. Observer패턴이 구현이 된다면 반드시 이 Subject 객체에 통지해야 합니다. 하지만 ! 이 Subject 객체를 스스로 구현하는 것은 어렵습니다. (UniRx를 이용하지 않을 경우) 그래서 UniRx가 이 Subject 객체의 구현을 제공해 줍니다. Subject의 UniRx 구현 [ UniRx.Subject] Subject의 사용 Subject는 주로 '이벤트 메시지를 발행할 때에 사용하는 오브젝트'로서 이용합니다. 이벤트 중심의 FP(.. 2022. 11. 20.
UniRx의 작동 원리 (1) - Observable UniRx의 기본 요소로 아래 3가지로 분류 가능합니다. Observable Operator Scheduler 우선 이 세가지에 대해서 설명해보려고 합니다. Observable이란? 1. 이벤트 기반 프로그래밍 UniRx는 Reactive Programming이라는 함수형 프로그래밍이 되는 프로그래밍 스타일을 가능하게 하는 라이브러리입니다. 간단하게 함수형 프로그래밍이 무엇인가? 앱의 실행 중 발생한 이벤트를 이벤트 메시지로 통지합니다. 이 이벤트 메시지를 다른 곳에서 구독하고 메시지를 받은 타이밍에서 처리합니다. 이러한 이벤트의 발생 장소와 그 핸들링 장소가 결합되어 있는 스타일의 프로그래밍을 함수형 프로그래밍이라고 합니다. 혹은 이벤트 반응형 프로그래밍! 이 이벤트 구동 프로그래밍은 게임 개발에도 편.. 2022. 11. 7.
함수형 프로그래밍 (FP) 함수형 프로그래밍 : 순수 함수 작성과 공유 상태, 변경 가능한 데이터와 사이드 이펙트 피하기로 소프트웨어 구축하는 프로세스이다. 명령적이라기보다는 정의 혹은 선언에 의해 반응적이며 어플리케이션의 상태의 흐름이 순수 함수를 통해 흐르게 된다. 이는 어플리케이션 상태가 공유되고, 객체의 메소드와 함께 배치되는 객체 지향 패러다임과는 대조적이다. 함수형 코드는 객체 지향 코드에 비해 더 간결하고, 더 예측 가능하고, 더 테스트하기 쉬운 경향이 있다. 함수형 프로그래밍 패러다임을 이해하기 위해서는 아래 5가지 아이디어가 중요하다. 1. 순수 함수 2.합성 함수 3.공유 상태 피하기 4.불변성 5.사이드 이펙트 피하기 위 핵심 개념을 알아야 비로소 함수형 프로그래밍의 패러다임을 이해하게 된다. 1. 순수 함수 .. 2022. 11. 7.