Daily iOS
아키텍처

요청 상태 머신 설계

네트워크 요청이 있는 화면은 로딩·성공·실패·재시도·새로고침·취소 상태가 얽힙니다. 이 상태 전이를 어떻게 설계하나요?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

상태를 연관값 있는 enum(idle/loading/loaded(data, isRefreshing)/failed(error, lastData))으로 정의하고, 전이는 (state, event) → state 함수 한곳에서만 결정한다.

받은 질문 공유