MVVM패턴과 ACC

jeunguri·2022년 11월 28일
0

android

목록 보기
11/13

MVVM 패턴

Model, View, ViewModel을 구성하고 있는 패턴

  • View
    Activity나 Fragment가 View 역할을 함
    사용자의 액션을 받음 (텍스트 입력, 버튼 터치 등)
    ViewModel의 데이터를 관찰하여 UI를 갱신

  • ViewModel
    사용자 입력에 맞는 데이터를 가공하는 비즈니스 로직을 처리하는 부분
    View가 요청한 데이터를 Model로 요청
    Model로부터 요청한 데이털르 받음

  • Model
    실질적인 Data를 다루는 부분
    DB나 API를 이용한 데이터 획득 등 데이터를 호출


ACC (Android Architecture Component)

MVVM 패턴을 간편하게 적용할 수 있도록 구글에서는 ACC를 제공한다.

  • ViewModel
    화면 변화시에도 사라지지 않는 데이터를 가지고 있다.

  • Live Data
    View가 ViewModel을 관찰할 때, 그 관찰 대상이 되는 데이터 홀더 클래스이다. Live Data는 Activity 및 Fragment의 생명주기를 인식하지 못하므로 화면이 활성화되어 있을 때만 동작하여 메모리 릭을 줄여준다.

  • Repository
    ViewModel과 데이터를 주고받기 위해 데이터 API를 포함하는 클래스이다. 사용자 동작에 따라 필요한 데이터나 외부 백엔드 서버 등에서 데이터를 가져오게 된다. Repository 덕분에 ViewModel이 데이터를 관리할 필요가 없게 된다.

  • RoomDatabase

0개의 댓글