View
View 에서 다루어야 할 로직은 제한적이다.
•
간단한 if 문, nullable상황에 따라 숨겨여할 위젯로직이 필요한 경우
•
애니메이션 로직
•
레이아웃에 관한 로직, 예를들어 스크린 사이즈
•
간단한 라우팅 로직
Viewmodels
뷰모델은 거의 대부분의 로직이 여기에 있게 된다.
•
데이터를 레파지토리에서 가져오거나, 데이터를 화면에 맞게 정제하는 작업을 한다. 예를 들어, 데이터를 필터링하거나 정렬한다
•
현재 상태를 유지하는 역할을 흔다. 그리하여 View는 데이터를 잃지 않고 다시 빌드할 수 있게된다. 아마 boolean 플래그로 조건적으로 view를 다시 그리거나, carousel에서 어떤 항목이 활성화 상태인지 등등
•
화면에서 콜백함수를 사용할 수 있게 해준다. ( 버튼을 누르면 함수를 실행한다던지 하는 경우 )