원티드나 로켓펀치 등 구직 사이트 우대사항에서 MVVM에 대한 언급이 아주 많다. 그만큼 실무에서 큰 프로젝트에 적용이 되어있는 패턴이고 앱 아키텍쳐의 중요한 부분이다.
규모가 큰 프로젝트에서 많이 쓰이는 만큼 안드로이드는 MVP,MVVM 패턴을 주로 사용하는 회사들이 많은 것 같다.
더 깊게 공부하고 싶어서 시리즈로 만들 예정이다.
그리고 이 글은 안드로이드 개발자라면 한 번쯤 봤던 찰스의 안드로이드 유튜브를 참고하면서 정리해보았다.
MVVM과 Paging으로 수퍼 빠른 이미지 피커 만들기
데이터 저장, 수정, 삭제 관리. 네트워크 통신 기타 등등
Entity, Repository, DB, Util 클래스 등 그 외 모든 것
Activity,Fragment,View,ViewDataBinding 등
View에 표현할 데이터를 Model로 부터 가져와 가공하여 관리한다.
AAC ViewModel 클래스, BaseObservable 등
AAC ViewModel은
데이터 바인딩을 쓰면 UI와 ViewModel의 데이터를 따라서 xml에서 UI의 상태를 관리할 수 있다.
액티비티의 코드를 상당히 줄일 수 있는 방법이여서 최대한 DataBinding을 많이 쓰고 있다.
ViewModel의 데이터의 상태에 따라서 UI 컴포넌트 상태를 관리할 수 있다(이 말인 즉슨 View는 ViewModel의 데이터에 의존성을 가진다)
찰스님의 안드로이드 유튜브를 보고 아주 MVVM 핵심을 파악할 수 있어서 글로 남기고 싶어서 보면서 정리해보았다.
MVVM에 대해서 아주 잘 알려주셔서 상단에 링크되었던 유튜브 영상을 보면 아주 잘 이해가 될 것 같다.
MVVM을 시리즈로 정리하면 복습하는데 도움이 될 것 같아서 쓸 예정이다.