MVVM 의 등장 배경
Model
데이터를 담는 그릇.
•
Encoding : 서버에 올릴 데이터의 형태로 변환
•
Decoding : struct 로 데이터 파싱
메서드를 포함해야함
Model은 View, ViewModel 계층을 전혀 신경쓰지 않아도 된다
ViewModel
Model 을 소유하고 있는 로직들의 모음 UI관련코드와는 완벽하게 분리.
•
View의 요청에 따라 로직을 실행
•
Model의 변화에 따라 View를 refresh
View
앱의 UI에 대한 코드를 담고 있는 계층
•
ViewModel 의 어떤 메서드를 이용할지
•
ViewModel 로 부터 데이터를 가져와 어떻게 배치할지.