MVVM패턴이란?
View - ViewModel - Model
- View: 사용자에게 보이는 화면
- ViewModel: View를 표현하기 위해 만든 View를 위한 Model && View를 나타내주기 위한 데이터 처리 담당
- Model: 어플에서 사용되는 데이터 및 데이터 조작 부분 (ex. 서버에서 들어오는 데이터)
동작순서
- 사용자의 Action이 View를 통해 들어옴
- Command 패턴을 이용해 ViewModel에 Action을 전달
- ViewModel이 Model에서 데이터를 요청하고, Model은 ViewModel에서 요청받은 데이터를 전달
- ViewModel은 응답받은 데이터를 가공 및 저장
- View는 ViewModel과의 Data Binding을 이용해 화면 갱신
특징
- View와 Model 사이 의존성이 없음
- View와 ViewModel 사이 의존성이 없음
- 각 부분들은 독립적이기 때문에 개별적 개발 가능
- 개발이 어려움