MVVM Design Patern
[Design Pattern's Elements]
Model
- Application의 Data인 DB, 상수, 변수등의 데이터를 의미한다.
- Android에서는 Data Class나 Resource를 정의하는 Data가 이에 포함된다.
- 이들은 데이터를 관리하기 위해 사용되는 요소들이다.
View
- User Interface Elements
- Model을 기반으로 한 사용자가 볼 수 있게 만든 화면을 의미한다.
- Android에서는 Activity, Fragment등, 눈에 보이는 화면을 관리하는 것들이다.
Controller
- Model과 View를 잇는 다리 역할을 하며, Main Logic의 역할을 한다.
- Model과 View의 생명주기를 관리하며, 변경하상을 해석하여 전달한다.
- Android에서는 코드의 흐름을 변경하는 함수들이 이에 해당한다.
ViewModel
- View를 추상화하여 만든 계층이다.
- View와 Model의 일정 역할을 띄어가서 만든 것들이다.
[MVVM]
MVC 패턴의 Controller가 ViewModel로 바뀐 패턴
특징
- Command와 DataBinding을 가진다.
- 이는 View와 ViewModel 사이의 양방향 DataBinding을 지원하며,
별다른 수정 없이 재사용과 단위테스팅이 간단하다.
'Study' 카테고리의 다른 글
[Android] 안드로이드 스튜디오 무선 디버깅 연결하는 법 (0) | 2024.02.22 |
---|---|
[Android] Project에 ktlint 적용하기 (0) | 2024.02.19 |
[Android] BuildSrc과 Kotlin DSL을 이용한 Dependency 관리 (0) | 2024.01.02 |
[Android] Stream Chat SDK를 통한 인앱 채팅 시스템 (0) | 2023.11.16 |
[Android] Hilt (0) | 2023.10.27 |