프로젝트/마스크 알라미
4년 전 코드 리팩토링하기 (3) - MVVM 패턴
MapViewModel 추가 : 비즈니스 로직 분리 이전 코드에서는 MainActivity에서 네트워크 호출을 하는 MainService 객체를 생성해 앱에 필요한 데이터를 불러와 마커를 생성했다. 데이터를 불러오는 로직을 ViewModel이 수행하게끔 수정했다. ViewModel은 데이터를 가져오고 앱의 상태 데이터들을 보유하고 관리한다. 그리고 UI는 ViewModel의 앱 상태에 의해 UI 요소를 변경한다. 즉, ViewModel은 UI와 데이터간의 상호작용을 담당하는 역할이다. Store 리스트 데이터를 저장하고 관리할 수 있는 ViewModel 클래스를 추가해줬다. Jetpack의 ViewModel를 상속받는 MapViewModel 클래스 타입을 정의해줬다. private const val RA..