Model
: 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분
View
: 사용자에게 보여지는 UI 부분
View Model
: View를 표현하기 위해 만든 View를 위한 Model. 데이터 처리를 하는 부분 (ex. Vue.js)
Command 패턴
과 Databinding
으로 View와 View Model 의존성을 해결
View Model과 View는 1:n 관계
View와 Model의 의존성, View와 View Model의 의존성 해결
MVC 패턴, MVP 패턴의 단점을 보완
각각의 부분은 독립적이기 때문에 모듈화하여 개발이 가능
View Model의 설계가 어렵다.
Command
여러가지 요소에 대한 처리를 하나의 액션으로 처리할 수 있게 하는 기법
Data Binding
화면에 보이는 데이터와 웹 브라우저의 메모리 데이터를 일치시키는 기법, View Model을 변경하면 View가 변경