이걸 쓰면 이전보다 코드도 덜 꼬이고 코드 수정도 더 편리해질 꺼야 라며 똑똑한 사람들이 제안한 작업 방식이며, 여러 사람들과 작업방식을 유사하게 진행하면서 협업을 편리하게 만들고 문제 해결에 대한 도움을 쉽게 받을 수 있게 만드는 개발자끼리의 작은 약속입니다.Controller에서 유저의 요청사항을 받아 Model에게 명령을 보냅니다 (보다 정확히는 명령이 아니라 Model을 새롭게 업데이트 합니다) Model은 해당 명령을 처리한 뒤 View에게 이를 전달합니다View는 모델에게 받은 내용을 최종적으로 유저에게 보여드립니다메뉴를 주문받아 요리를 하고 요리를 손님에게 드려야 합니다각자 메뉴를 받고 요리를 한 뒤 손님에게 요리를 드리면 식당이 매우 혼잡할 겁니다메뉴 주문만 받아서 B에게 전달하고, B는 주방에서 요리만 해서 C에게 전달하고, C는 B가 한 요리를 손님에게 서빙하는 일만 담당하면 식당은 깔끔하면서도 효율적으로 운영될 수 있습니다 
View에서 유저의 요청사항을 받아 ViewModel에게 전달한 뒤 ViewModel을 계속 관찰합니다ViewModel은 Model에 요청사항을 전달합니다Model은 해당 명령을 처리한 뒤 ViewModel에게 이를 전달합니다ViewModel이 Model의 요청사항을 반영하면 ViewModel을 관찰하고 있던 View가 이를 반영해 고객에게 정보를 보여줍니다ViewModel과 View는 1:n의 관계입니다 .Command 패턴과 Data Binding이 사용되기 때문입니다.View와 ViewModel이 묶여 있기 때문에 ViewModel을 관찰하는 것만으로 View의 정보가 자동으로 업데이트되며, View는 Model이 아닌 ViewModel에만 관심을 쏟기 때문에 View와 Model의 의존성이 없어진다'라고 이해했습니다)View와 Model 사이에 ViewModel이라는 중간다리를 놓아 의존성을 없앤 것이 MVVM라는 느낌을 받았습니다.