MVVM 이란?
Model + View + ViewModel
Model, View, ViewModel로 계층을 나누어서 개발하는 방식
코드의 역할을 명확하게 나누어 사용하는 방식으로, 유지보수와 테스트가 용이함.
Model
- 데이터를 관리하는 부분
- 서버, 데이터베이스 같은 곳에서 데이터를 가져오는 역할
- 데이터 클래스 자체도 Model로 봄
- 서버에서 데이터를 가져오는 경우, Repository로 관리
View
- 화면(UI)를 담당
- 위젯들을 담고 있음
- 직접 데이터를 다루지 않고, ViewModel로부터 데이터를 받아 사용함
- ViewModel을 구독함 => ViewModel이 변경되면 바로 알 수 있고, 필요한 데이터를 받을 수 있음
ViewModel
- View와 Model을 연결하는 중간다리 역할
- Model(Repository)에서 데이터를 가져와 가공하고, View에 맞는 형태로 변환
MVVM은 플러터 기본 기능으로도 구현 가능하지만, 상태관리 라이브러리를 쓰면 더욱 편하게 구현 가능하다.
상태관리 라이브러리로는 RiverPod이 많이 사용됨
'Flutter' 카테고리의 다른 글
| [Flutter] 네이버 오픈 API를 사용한 책검색 앱 (0) | 2025.04.15 |
|---|---|
| [Flutter] Riverpod 사용법 (0) | 2025.04.14 |
| [Flutter] 삼항연산자, null 병합 연산자 (0) | 2025.04.02 |
| [Flutter] 전역 변수 사용으로 중복 코드 줄이기 (0) | 2025.04.01 |
| [Flutter] List.generate로 반복되는 출력 처리하기 (1) | 2025.03.31 |