안드로이드/정리(Android)

[Android] ViewModel 알아보기

김염인 2022. 8. 4. 18:48

1. ViewModel

Q) ViewModel 이란?

AAC의 종류는 공식문서 - Android Architecture Components에서 확인할 수 있다.

 

구글이 개발자들을 위해 이 Clean Architecture를 쉽게 구현할 수 있도록 라이브러리들을 만들었는데

이를 Android Architecture Components (AAC)라고 부르며 그중 하나가 바로 ViewModel이다.

UI 관련 데이터를 저장하고 관리해주는 역할을 하는데, 즉 Busniess Logic 구현을 담당하게 된다.

그렇게 ViewModel을 이용하여 MVVM패턴 또한 구현가능하다.

안드로이드 생명주기

 

 

MVVM 패턴 이란?

Model, View, ViewModel

MVVM 패턴 또한 MVC와 마찬가지로 애플리케이션 개발에 주로 사용되는 디자인 패턴이다. 이름만 보면 알 수 있지만, MVC와 다르게 Controller가 아닌 ViewModel 계층을 가지고 있다. ViewModel 또한 Controller처럼 View와 Model의 중간 계층 역할을 하고 있다.

 

 

안드로이드 아키텍쳐 컴포넌트 ( Android Architecture Components, AAC )

안드로이드 아키텍쳐 컴포넌트는 앱 구조를 더 튼튼하고, 테스트에 용이하고, 유지 보수성이 뛰어나게 만들어 주는 라이브러리 모음이다. 아키텍쳐 컴포턴트에서는 조금 더 모듈화된 코딩을 돕기 위해 Databinding, LiveData, ViewModel 등의 유용한 라이브러리를 제공하며, 이러한 라이브러리의 모음은 MVVM 패턴의 구조의 설계에 최적화되어 있다.

 

따라서 MVVM에 특화 돼있는 LiveData와 ViewModel을 이용하여 앱을 제작해 볼 것이다.