안드로이드 개발자의 창고
[Android] MVVM 본문
데이터 바인딩 및 MVVM - UWP applications
데이터 바인딩은 MVVM(Model-View-ViewModel) UI 아키텍처 디자인 패턴의 핵심이며 UI 및 비 UI 코드 간의 느슨한 결합을 가능하게 합니다.
learn.microsoft.com
다른 블로그 글 보다는 공식 문서가 좋을 것 같아 microsoft 공식 문서를 가져왔다.
📖 MVVM이란?
- UI 및 비 UI 코드를 분리하기 위한 UI 아키텍처 디자인 패턴
- Model, View, ViewModel로 분리
- Model : 데이터를 관리하는 클래스
- View : 화면 UI
- ViewModel : 화면과 관련된 데이터를 관리하는 클래스
- repository : 데이터를 구하는 클래스
MVVM의 장점
- 단위 테스트 간소화
- 유지 관리 효율성 향상
- 각 컴포넌트들의 분리로 디자이너와 개발자가 병렬 작업 가능
- LifeCycle 관리
- ViewModel은 View의 라이프사이클을 이해하고 관리할 수 있음
- 이로 인해 메모리 누수와 같은 문제를 방지하고, 화면 회전과 같은 View의 상태 변화에 유연하게 대응 가능
MVVM의 단점
- 코드가 분리되면서 오히려 복잡해질 수 있음
- 오히려 작은 프로젝트에는 적합하지 않을 수 있음
- 높은 학습 곡선
- 추가적인 오버헤드의 발생
- ViewModel은 View와 Data 사이의 중간 역할
- 데이터 변환이나 처리 과정이 늘어나면서 약간의 성능 저하가 발생할 수 있음
'Computer > Android' 카테고리의 다른 글
[Android] Coroutine과 Thread의 차이 (0) | 2023.09.04 |
---|---|
[Android] MVC / MVP / MVVM 차이 (0) | 2023.09.02 |
[52일차 Android] Socket 통신 (0) | 2023.07.27 |
[52일차 Android] 앨범에서 사진 가져오기 (0) | 2023.07.24 |
[52일차 Android] 사진 촬영하기 (0) | 2023.07.24 |