본문 바로가기
안드로이드

[안드로이드] MVVM 알아보기

by krapoi 2022. 3. 7.
반응형

안드로이드 공부를 하다 보니 MVVM에 대해 알게 되었다.

내가 이때까지 했던 방법은 그냥 Activity에 다 때려 박는 식이었는데

그거보단 이 MVVM이 유지보수에 유리해 많이 사용된다고 한다.

하긴 내가 생각해도 그렇게 생각한다.

Activity에 다 때려 박으면 유지보수는 힘들 거 같긴 하다.

 

어쨌든 이제 이 MVVM에 대해 알아보자.

 

MVVM

 

일단 위에 사진은 MVVM을 도면화시킨 것이다.

사실 MVVM을 잘 모르기 때문에 도면화를 시켜도 뭔지 잘 모른다.

 

일단 그래도

저 View, View Model, Model이 각각 무슨 일을 하는지 알아야 하니 열심히 찾아보았다.

 

View : 사용자에게 보이는 화면이다. (이건 찾아보지 않아도 알 것 같지만.)

View Model : View를 나타내기 위한 데이터 처리 담당

Model : 데이터 및 데이터 조작 (서버에서 들어오는 데이터 같은 거라고 한다.)

 

동작 방식

1. 사용자의 Action이 View를 통해 들어옴.

2. Command패턴을 이용해 ViewModel에 Action을 전달.

3. ViewModel이 Model에서 데이터를 요청하고, Model은 ViewModel에서 요청받은 데이터를 전달.

4. ViewModel은 응답받은 데이터를 가공, 저장.

5. View는 ViewModel과의 Data Binding을 이용해 화면을 갱신.

 

그리고 View가 ViewModel에 저장된 데이터를 이용해 UI를 업데이트한다.

 

장점

  • Model과 View 사이에 의존성이 없다.
  • View와 ViewModel 사이에 의존성이 없다.
  • 각 부분이 독립적이므로 개별적으로 개발 가능.

 

단점

- 모르면 이해하기도 어렵고 개발도 어려움.

 

이렇게 조사한 자료를 바탕으로 글을 써 보니

어느 정도는 이해가 된 느낌이다.

근데 어떻게 짜야할지는 감이 안 잡힌다.

 

이제부터 MVVM방식으로 코드를 짤 것이기에

공부를 해 가져와 보겠다.

 

빨리 올진 의문

 

반응형