MVVM MVVM에서 Model과 View는 MVC에서 정의된 역할과 동일하다. Model은 상태저장, 비즈니스 로직, 순수한 데이터이고, View는 시각적인 요소를 담당한다. ViewModel는 View가 데이터 바인딩에 사용할 수 있는 Model을 전문화한다. 1) Model Type을 View Type으로 변환하는 데이터 변환기 역할 2) View가 Model과 상호작용 할 수 있게 하는 역할 3) UI의 재사용 가능한 부분에 대한 추상적 표현 4) Selection과 Commands를 포함한다. MVC에서 파생되는 패턴들은 모델과 뷰 사이에 무언가를 넣는 것이다. 뷰를 가상화하는 프록시를 가짐으로서 뷰와 모델간의 관계를 끊는다. 모델의 데이터 형태가 뷰에게 의존하기 때문에 모델의 변경이 필요할때 ..