나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2022-12-17 01:36:16

MVVM

1. 개요2. 특징

[clearfix]

1. 개요

파일:MVVM.png
MVVM의 구조

Model-View-View Model.

아키텍처 패턴 중 하나로, 애플리케이션을 데이터를 처리하는 모델(Model), 사용자에게 보여지는 UI인 뷰(View), 뷰에 바인딩되어 모델과 뷰 사이를 이어주는 뷰 모델(View Model)로 분리하는 방식이다.

2. 특징

모델과 뷰 뿐만 아니라 뷰와 뷰 모델 간의 의존성까지 최소화한 형태로, UI가 실제 코드와 거의 완벽하게 분리된 것이 특징이다. 덕분에 데이터 처리 로직과 UI 디자인 간 상호 영향이 적어 개발이 용이하다. MVVM 패턴을 적극적으로 지원하는 WPF에서 이 장점이 특히 두드러지며, 흔히 WPF의 장점으로 꼽히는 '개발자와 UI 디자이너 간의 협업이 용이하다.'는 말은 일반적으로 WPF 애플리케이션이 MVVM 패턴으로 개발되었을 때 적용되는 것이라고 봐도 무방하다.

MVVM에서는 패턴 구현을 위해 Command 패턴과 Data Binding을 적극적으로 사용한다. Command 패턴은 뷰에서 UI를 처리하기 위해 뷰 모델에 전달하는 요구 사항을 캡슐화한 것이며, Data Binding은 뷰와 뷰 모델 사이의 데이터를 동기화시키는 것이라고 볼 수 있다.