MVVM은 Model-View-ViewModel의 약자로, 앱을 깔끔하고 효율적으로 만들기 위해 사용하는 코드 설계 방식
이걸 가게 운영 방식으로 쉽게 설명
MVVM을 가게 운영으로 비유
- Model (창고)
- 설명: 창고는 재고(데이터)를 보관하는 곳
- 역할: 앱에서 데이터를 저장하거나 불러오는 역할
- View (매장)
- 설명: 매장은 고객이 직접 보는 공간
- 역할: 사용자가 보는 화면(UI)을 보여줌
- ViewModel (점원)
- 설명: 점원은 창고와 매장을 연결해주는 사람
- 역할: 데이터를 매장에서 필요한 형태로 정리하고 전달
MVVM이 유용한 이유
- 책임 분리
- 창고(Model)는 데이터만 관리하고,
- 점원(ViewModel)은 데이터를 정리하며,
- 매장(View)은 보여주기만 하니까 일을 나눠서 깔끔하게 처리할 수 있음
- 유지보수 쉬움
- 만약 창고 구조(Model)를 바꾸더라도 점원(ViewModel)만 수정하면 되고, 매장(View)엔 영향이 없다.
- 코드 재사용성
- ViewModel이 데이터를 중간에서 관리하니, 같은 데이터를 다른 화면(View)에서도 쉽게 재사용 가능
예: 쇼핑몰 앱
- Model (창고)
- 데이터베이스에 "상품 목록", "재고 정보"를 저장
- View (매장)
- 사용자가 보는 화면: 상품 카드, 가격, 이미지.
- ViewModel (점원)
- 상품 이름과 가격 데이터를 창고에서 가져와서 "상품 카드 형식"으로 정리해 View에 전달
한 줄 정리
MVVM은 창고(Model), 점원(ViewModel), 매장(View)을 역할에 따라 나누어 코드를 더 깔끔하고 효율적으로 관리할 수 있게 해주는 설계 방식