Development/아이폰
Publisher / Subscriber 의 매력
江多林
2022. 4. 14. 13:26
구성하면, 확정되는
함수형 구성에서 의미를 갖는 것 같다.
시퀀스 가 구성되면, 동작이 확정되는...
시작할 때 시퀀스를 확정하고, 끝까지 publisher 체인을 유지하는 것이 필요해 보인다.
잦은 구독/해지 는 구독상태와 해지상태가 구분되므로,
테스트 구성의 초기 부터 구분해야하게되고,
테스트를 어렵게 만든다.
하나의 완결된 흐름(사용자 관점: UX)이 시작할 때 구성하고,
해당 흐름이 완결되었을 때 해제하는 방식으로 설계한다면,
초기 설계 단계에서 상태에 무관하게 동작할 수 있도록 애 써두는 것으로
추후 흐름을 이해하거나, 테스트를 구성하는 시점에서 유리할 수 있다.
각각의 시작과 끝을 세션으로 정의한다면;
UIKit 에서는 ViewController 의 라이프사이클을 하나의 세션을 바라보는 것이 유의미할 것 같다.
그리고, SwiftUI 에서는 View의 라이프사이클이 하나의 세션으로 보면,
@ObservedObject @Published 을 활용해서 View와 구성되고,
View 가 해제될 때 구성이 해제된다.