데이터가 어떻게 가지고 있을지만 관여, 데이터가 어떻게 보여질 것인지는 관여하지 않음.
View의 설정을 직접한다.
View와 Model 사이의 중개자 역할
(MVC에서 Controller의 역할)Model 에 변화가 생기 ViewModel 에게 자동으로 전달되고, ViewModel과 사전에 binding된 View가 변경.
MVC | MVVM |
---|---|
컨트롤러가 앱의 진입점이다. | 뷰가 앱의 진입점이다. |
Controller와 View 간의 일대다 관계. | View & View Model 간의 일대다 관계. |
View에 Controller에 대한 참조가 없다. | View에는 보View Model에 대한 참조가 있다. |
읽고, 변경하고, 단위 테스트하고, 재사용하기가 어렵다. | 복잡한 데이터 바인딩이 있는 경우 디버깅 프로세스가 복잡하다. |
MVC Model 구성요소는 사용자와 별도로 테스트 가능. | 별도의 단위 테스트가 용이하고 코드는 이벤트 기반입니다. |
https://www.guru99.com/mvc-vs-mvvm.html#7
https://eeyatho.tistory.com/77
https://velog.io/@ictechgy/MVVM-%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4
https://www.youtube.com/watch?v=hkRvC0_LnZk