개요
- MVVM은 Model, View, ViewModel을 가리킨다. ViewModel을 사용해서 Model과 View를 분리하는 것이 목적이다. View는 Fragment, Activity이고 Model은 DB와 연동하는 등 데이터를 처리하는 작업을 한다.
그래서 왜 쓰냐? UI와 로직의 분리를 위해서 사용한다.
- 안드로이드에서 MVVM을 적용해서 개발할 때 ViewModel, LiveData, DataBinding을 사용한다.
동작 순서
- View를 통해 요청이 들어온다.
- ViewModel에게 요청을 전달
- ViewModel은 Model에게 데이터 요청
- Model은 요청받은 데이터 응답
- View는 ViewModel을 관찰하다 변경점이 있으면 업데이트
이 순서대로 이해했다.
- 아래 사진에서처럼 Model을 좀 더 세분화해서 처리할 수도 있다.