카테고리 없음

MVVM쉽게 이해하기

qkrtjddlf 2024. 12. 11. 01:05

MVVMModel-View-ViewModel의 약자로, 앱을 깔끔하고 효율적으로 만들기 위해 사용하는 코드 설계 방식

이걸 가게 운영 방식으로 쉽게 설명


MVVM을 가게 운영으로 비유

  1. Model (창고)
    • 설명: 창고는 재고(데이터)를 보관하는 곳
    • 역할: 앱에서 데이터를 저장하거나 불러오는 역할
  2. View (매장)
    • 설명: 매장은 고객이 직접 보는 공간
    • 역할: 사용자가 보는 화면(UI)을 보여줌
  3. ViewModel (점원)
    • 설명: 점원은 창고와 매장을 연결해주는 사람
    • 역할: 데이터를 매장에서 필요한 형태로 정리하고 전달

MVVM이 유용한 이유

  1. 책임 분리
    • 창고(Model)는 데이터만 관리하고,
    • 점원(ViewModel)은 데이터를 정리하며,
    • 매장(View)은 보여주기만 하니까 일을 나눠서 깔끔하게 처리할 수 있음
  2. 유지보수 쉬움
    • 만약 창고 구조(Model)를 바꾸더라도 점원(ViewModel)만 수정하면 되고, 매장(View)엔 영향이 없다.
  3. 코드 재사용성
    • ViewModel이 데이터를 중간에서 관리하니, 같은 데이터를 다른 화면(View)에서도 쉽게 재사용 가능

 

예: 쇼핑몰 앱

  1. Model (창고)
    • 데이터베이스에 "상품 목록", "재고 정보"를 저장
  2. View (매장)
    • 사용자가 보는 화면: 상품 카드, 가격, 이미지.
  3. ViewModel (점원)
    • 상품 이름과 가격 데이터를 창고에서 가져와서 "상품 카드 형식"으로 정리해 View에 전달

한 줄 정리
MVVM은 창고(Model), 점원(ViewModel), 매장(View)을 역할에 따라 나누어 코드를 더 깔끔하고 효율적으로 관리할 수 있게 해주는 설계 방식