🎈 MVVM 패턴이란?
✨ 구성요소
Model, View, ViewModel로 이루어져있다.
View
사용자에게 보여지는 레이아웃
사용자와의 상호작용으로 받은 입력을 ViewModel에 전달한다.
View는 UI업데이트를 위해 ViewModel과 Binding하게 된다.
즉, View가 ViewModel을 구독하여 ViewModel의 상태가 변경되면 그 이벤트를 받아 UI를 갱신한다
Model
데이터와 관련된 비즈니스 로직을 처리하는 곳이다.
DB나 네트워크 등 다양한 데이터 소스로 부터 필요한 데이터를 준비한다.
ViewModel
Model에서 가져온 데이터를 View에 뿌려줄 수 있는 형태로 가공한다.
View는 ViewModel의 reference를 가지지만 ViewModel은 View에 대한 정보가 전혀 없어야한다.
MVC패턴의 Controller와 다른점은 View가 ViewModel을 관찰하는 형태로 binding되어 있다. 따라서 LiveData라이브러리를 통해 데이터 업데이트를 View가 자동으로 받을 수 있는 형태이다.
기타
각 컴포넌트(View, ViewMode, Model)는 서로 Reference를 가지지 않고 View -> ViewModel -> Model 형태의 단방향 Dependency를 가진다.
REFERENCE
'📜 TIL' 카테고리의 다른 글
[Android] 안드로이드에서 Notification이란? (0) | 2022.10.14 |
---|---|
[Network] 네트워크에서 헤더와 패킷이란 무엇일까? 간단 정리 (0) | 2022.10.13 |
[Android Studio] 휴대폰의 내부 저장소 폴더 파일트리를 볼 수 있는 방법 (0) | 2022.10.06 |
[Android/Kotlin] 내장 메모리의 Download 폴더 경로를 출력하는 앱 만들기 (0) | 2022.10.06 |
[Word] 표에 들어간 글자 위로 쏠림현상 해결하는 방법 (0) | 2022.09.06 |