(디자인 패턴) MVVM 패턴이란

제로코딩

·

2022. 6. 23. 13:57

반응형

 

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이 존재합니다

 

 

📌 Processing 작동 과정

 

1. 사용자의 입력값이 View를 통해 들어옵니다.

2. View에 입력값이 들어오면 ViewModel에 입력값을 전달합니다. 그 후 ViewModel은Model에게 데이터 요청을 보냅니다.

3. Model은ViewModel에게 요청받은 데이터를 Response하고 ViewModel은 그 값을 받은 후 가공처리하여 내부에 저장합니다.

4. View는ViewModel과 Data Binding통해 화면상에 표출합니다.

 

 

📌 MVVM패턴의 특징

 

Data Binding이라는 기능을 사용합니다. (View와 ViewModel의 데이터를 연결시킵니다.)

Data Binding을 이용하여 View와 ViewModel 사이의 의존성이 없습니다.

 

 

📌 MVVM패턴의 차별점

 

View와Model 사이의 의존성이 없습니다.


즉, 다시 말하자면 Data Binding을 사용하여 View와 View Model 사이의 의존성이 없습니다.

 

 

📌 마무리

 

결국 MVVM패턴은 서로간의 의존성이 없기 때문에 모듈화가 가능합니다. 

추후에 유지보수가 쉬운 패턴입니다.

반응형