[ Design Pattern 03 ] MVVM 패턴이란
MVVM 패턴 |
[ MVVM이란 ]
MVVM = Model + View + ViewModel
[ 구조 ]
Model
일종의 데이터(Data)라고 생각하면 됩니다. 데이터 뿐만이 아니라 데이터를 가공해서 처리하는 간단한 로직도 model안에 포함이 되는 부분입니다.
어플리케이션에서 사용하는 데이터 및 그 데이터를 처리합니다.
View
사용자에게 보여지는 화면입니다. 사용자에게 제공되어지는 UI Layer를 의미합니다.
브라우져나 모바일 화면에서 View는CSS/HTML/XML 등으로 렌더링 되어서 보여주는 화면을 가리킵니다.
View Model
View를 표현하기 위해 존재합니다. 즉 View를 위한 Model입니다.
그 외에는 View를 나타내기 위한 데이터 처리를 하는 역할을 지닙니다.
*Model과View는 MVC 패턴과 동일하고, Controller 대신ViewModel이 존재합니다
[ 과정 ]
- 사용자의 입력값이 View를 통해 들어옵니다.
- View에 입력값이 들어오면 ViewModel에 입력값을 전달합니다. 그 후 ViewModel은Model에게 데이터 요청을 보냅니다.
- Model은ViewModel에게 요청받은 데이터를 Response하고 ViewModel은 그 값을 받은 후 가공처리하여 내부에 저장합니다.
- View는ViewModel과 Data Binding통해 화면상에 표출합니다.
[ 기능 ]
Data Binding이라는 기능을 사용합니다. (View와 ViewModel의 데이터를 연결시킵니다.
Data Binding을 이용하여 View와 ViewModel 사이의 의존성이 없습니다.
[ 차별점 ]
View와Model 사이의 의존성이 없습니다.
Data Binding을 사용하여 View와 View Model 사이의 의존성이 없습니다.
의존성이 없기 때문에 모듈화가 가능합니다. :)
0 댓글