Architecture (swift)/MVVM (개념)
[iOS] 3. Clean Architecture + MVVM 개념 확실하게 이해하기 (Actor가 Entity를 받기까지)
jake-kim
2021. 8. 18. 01:19
Actor가 Entity를 받기까지
- View는 ViewModel의 메소드를 호출
- viewModel은 useCase 실행 > useCase는 Repository(DB or Network)에 데이터 요청
- Repository에서 cache에 데이터가 있으면 바로 획득, 없으면 memory cache, disk cache로 기록
- Respository로 부터 받은 데이터는 completion의 인수로 받을수 있어서 ViewModel이 이 데이터 획득
- ViewModel은 자신의 Output 프로퍼티에 emit > 이 프로퍼티를 observe하고있던 View에서 Entity를 UI에 표출

예제 - Actor가 MovieList Entity를 요구

- View는 ViewModel의 메소드를 호출


- viewModel은 useCase 실행 > useCase는 Repository(DB or Network)로 부터 데이터를 조합





- Repository에서 cache에 데이터가 있으면 바로 획득, 없으면 memory cache, disk cache로 기록 (아래에선 disk cache 사용)

- ViewModel은 자신의 Output 프로퍼티에 emit > 이 프로퍼티를 observe하고있던 View에서 Entity를 UI에 표출



* 참고
- https://eunjin3786.tistory.com/207
- https://tech.olx.com/clean-architecture-and-mvvm-on-ios-c9d167d9f5b3