Single State Fields VS. State Data Class In Your ViewModel - What's Best?
- 뷰모델의 상태 관리 방식 비교: 단일 상태 필드 vs. 상태 데이터 클래스 ⚖️
- 개별 상태 흐름(State Flow) 사용 시, 반응형 프로그래밍을 통한 유연한 상태 조합 및 파생 가능 ✨
- 상태 데이터 클래스 사용 시, UI 계층에서 단일 상태 전달로 간결성 증대 👍
- MVI 패턴은 상태 데이터 클래스, MVVM 패턴은 개별 상태 흐름과 주로 사용 📌
- Jetpack Compose에서는 상태 데이터 클래스(MVI) 접근 방식이 성능 면에서 유리하며, 보일러플레이트 코드 감소 효과도 큼 🚀
- XML 기반 프로젝트에서는 개별 상태 흐름(MVVM)이 더 적합하며, Compose 프로젝트에서는 상태 데이터 클래스(MVI)가 더 효율적 🤔
- 상태 업데이트는 두 방식 모두 간편하지만, MVI에서 State Flow 업데이트 시
update
함수 사용 권장 ⚠️
- 복잡한 화면에서는 MVI 접근 방식이 보일러플레이트 코드를 크게 줄여줌, 특히 Sealed Interface와 함께 사용 시 효과적 🧰