- MVVM는 model view viewModel의 약자로 목적과 model, view의 역할은 다른 디자인 패턴들과 동일하지만 Controller대신 viewModel을 사용한다.
- viewModel이란 특정 View를 표현하기 위해 만든 Model이다 그로인해 View는 ViewModel만을 고려한다.
- view와 viewModel은 binding되어 있어 viewModel이 변경되면 해당하는 ViewModel을 이용하는 View가 자동으로 업데이트된다.
- View-ViewModel 관계는 One-to-Many 관계이다.
- ViewModel은 View 의 존재를 모른다.
- View는 Model 의 존재를 모른다.
- ViewModel은 Model 을 업데이트한다.
- 모든 입력은 View로 들어온다.
- ViewModel은 입력이 들어온 데이터 처리를 Model에 요청한다.
- Model은 ViewModel이 요청한 데이터처리를 한뒤 응답한다.
- ViewModel은 응답 받은 데이터를 가공해서 저장한다.
- View는 ViewModel과의 Data Binding으로 인해 자동으로 갱신된다.