MVVM 장단점 실제 경험 기반 중심으로 푸는 결
MVVM 패턴을 처음 써본 것은 안드로이드 앱 개발 수업 프로젝트에서였습니다.
가장 큰 장점은 `ViewModel`이 UI 상태를 들고 있어서 화면 회전이나 구성 변경이 생겨도 데이터가 유지된다는 점이었습니다. LiveData나 StateFlow와 연결하면 데이터 변경이 UI에 자동으로 반영되는 단방향 흐름이 만들어지고, 버그 추적이 훨씬 쉬워졌습니다. 뷰와 데이터 로직이 분리돼 있어서 테스트 작성도 수월했습니다.
단점으로는 초반 학습 곡선이 가파르다는 점입니다. 단순한 화면에서도 ViewModel과 Repository, UseCase를 모두 나눠야 하는 구조가 처음에는 과하게 느껴질 수 있습니다. 소규모 프로젝트에서는 오히려 구조가 복잡해지고 파일이 늘어나는 부담이 있었습니다. 규모가 커질수록 장점이 살아나는 패턴이라는 것을 직접 경험하면서 파악했습니다.