[Android] MVI
MVI모델, 뷰, 인텐트의 3가지 컴포넌트를 사용하는 아키텍처 패턴양방향 데이터 흐름이 가능한 MVVM 과 달리, 단방향 데이터 흐름 형태로 데이터가 이동한다.MVVM 패턴은 충분히 이상적인 패턴이지만, 화면에 대한 요구사항이 커지고 상태가 늘어남에 따라 복잡한 데이터 흐름, 상태 충돌, 스레드 안전성이란 문제에 대해 한계가 존재한다.MVVM 패턴은 데이터 바인딩으로 뷰가 데이터를 구독할 수 있지만 뷰 안에서 스스로 바인딩하는 경우가 있고, 뷰와 뷰모델 간의 핑퐁으로 로직을 처리하면 복잡한 데이터 흐름으로 파악하기 힘들 때도 있다.즉, 뷰와 뷰모델의 양방향 참조가 가능해 생기는 문제가 있다.데이터 흐름을 제어하지 못하는 게 문제였기 때문에, MVI 는 단일 상태 관리, 단방향 데이터 흐름을 통해 MVVM..
2025. 1. 26.