MVVM 디자인패턴은 Model + View + View Model 을 의미하는 용어이다.
Model과 View는 MVC 패턴 등 다른 패턴의 의미와 동일하다.
1. 구조
2. 동작 원리
1) 사용자의 Action은 View로 들어온다.
2) View로 들어온 Action은 View Model로 전달된다.
3) View Model은 Model에게 데이터를 요청한다.
4) Model은 View Model에게 요청받은 데이터에 대하여 응답한다.
5) View Model은 응답받은 데이터를 가공 및 저장한다.
6) View는 View Model과 데이터 Binding 처리하여 화면에 표시한다.
3. 특징
MVVM 패턴은 Command 패턴과 Data Binding 패턴을 사용하여 구현함으로써 View와 View Model 사이의 의존성을 없도록 하였다. View Model과 View는 1:N 관계가 성립한다.
4. 장단점
View 와 Model 사이의 의존성이 없을 뿐만 아니라, View와 View Model 사이의 의존성까지 없앰으로써 각 부분의 독립성을 향상시켰기 때문에 모듈화하여 개발할 수 있는 장점이 있지만 View Model의 구현이 쉽지 않다는 단점이 있다.