앱이 가지는 데이터들을 뜻한다.
User Interface Visual 요소들이며 iOS에서 ViewController는
View와 분리 할 수 없다.
View의 입력을 받아 Model을 업데이트 하고 (Input)
Model의 Output으로부터 View를 업데이트 한다.
MVVM은 MVC에 비해 다음과 같은 이점을 제공해준다.
Model, View, ViewModel의 구성요소이며 앱이 커지는 만큼
Controller도 비대해지는 MVC에서 비즈니스 로직을 분리함으로서
유지보수를 쉽게 하기 위해 만들어졌다.
MVVM에서는 Data Binding이 주요 개념이다.
MVVM에서는 ViewModel Output을 View에 바인딩할 수 있는 방법이 필요한데
네 가지 방법이 있다고 한다.
출처
https://www.raywenderlich.com/6733535-ios-mvvm-tutorial-refactoring-from-mvc#toc-anchor-005
https://wnstkdyu.github.io/2018/04/20/mvvmdesignpattern/