안드로이드 MVVM 패턴

유정현·2023년 3월 26일
0

이번에 진행 중이던 프로젝트에 함께하게 되었다. 진행 중이던 프로젝트 패키지 구조를 보니 MVC 패턴이 아닌 MVVM 패턴을 사용 중이었다. 사실 MVVM 패턴은 이전에 한번 사용해 보았는데 내용도 잘 모르고 다른 개발자가 짜준 코드를 보면서 작성해서 이번 기회에 정리해 보려고 한다.

🤔 MVVM 패턴?

MVVM패턴은 Model, View, ViewModel의 약자이다.

  • Model
    • MVC 패턴과 동일하게 데이터를 가지며 애플리케이션에서 비즈니스 로직과 사용되는 데이터 처리
  • View
    • 사용자에게 보이는 화면
    • Activity, Fragment, .xml 모두
  • ViewModel
    • View에 필요한 데이터를 Model로부터 가져와 처리하고 데이터를 View에 보여주기 위한 역할
    • 화면 변화에도 사라지지 않는 UI를 위한 데이터를 가지고 있음
    • LiveData와 DataBinding 라이브러리를 사용하면 View와의 의존성 감소
    • ViewModel 라이브러리(AAC ViewModel)을 사용하면 UI 관련 데이터의 수명주기 관리에 용이

MVC vs MVVM

➡️ MVC 패턴은 안드로이드에 적용할 때 View와 Control이 모두 Activity에서 처리되어 Activity가 커지는 문제 발생
➡️ MVVM 패턴은 View와 Model을 분리하고 View가 다시 생성되어도 ViewModel을 통해 데이터 유지 가능


[참고]
https://brunch.co.kr/@mystoryg/175

https://velog.io/@dddooo9/Android-MVVM-%ED%8C%A8%ED%84%B4%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0%EC%99%80-%EB%B0%A9%EB%B2%95

0개의 댓글