모델 뷰 뷰모델로 기존의 MVC패턴의 문제(일부 ViewController의 비대화)를 해결하기 위한 디자인 패턴이다. View와 Model이 포함된 측면으로 ViewModel이 추가 된다. MVVM은 특히 RxSwift나 Combine을 사용하는 데이터 압축이 필요한 iOS 제작에 적합합니다.
MVC의 Model과 동일하게, 데이터와 비즈니스 구조를 정의하는 부분이다
데이터의 구조 등을 관리 한다.
사용자 인터페이스를 담당하는 부분입니다. 사용자 결합 조합을 표현하고, ViewModel을 통해 데이터를 표시합니다.
ViewModel의 데이터를 구독하고, UI를 업데이트하며 사용자 입력을 전달합니다.
View와 모델 사이에서 데이터를 처리하여 View에 제공하고, View의 이벤트를 가져오는 모델에 참여하는 역할을 합니다.
View에 표시할 데이터와 상태를 관리하며, View가 직접 모델에 접근하지 못하도록 막습니다.

