Daily iOS
아키텍처

MVC에서 MVVM으로 이전

기존 UIKit 쇼핑 앱의 UIViewController가 API 호출, 캐시, 로딩 UI를 모두 처리합니다. MVC를 MVVM으로 옮길 때 네트워크와 캐시 처리는 어느 계층에 두겠습니까?

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

네트워크와 캐시는 ViewModel이 아니라 protocol로 감싼 Repository 계층에 두고, ViewModel은 Repository가 돌려준 도메인 값을 로딩, 성공, 실패 화면 상태로 바꾸는 일만 맡는다.

받은 질문 공유