MODEL VIEW ו VIEWMODELבקשר לשאלה שלך...
MVC זאת ארכיטקטורה דיי ישנה
לכן שום חלק הוא לא באמת loosely coupled
לדוגמא על מנת להריץ בדיקות ברוב המיקרים אתה צריך להפעיל את כל האפליקציה
MVVM בא לפתור את זה..
אני אפרט לך מה כול כול חלק עושה
MODEL - הלוגיקה. המודל לא מכיר אף אחד !
CONTROLLER - הוא מכיר גם את ה VIEW וגם את ה MODEL
הקונטרולר נרשם לאיוונטים של ה VIEW ומגיב בהתאם,, כלומר מבצעה שינוים על ה MODEL
VIEW - מכיר את ה MODEL ומאזין לו כלומר נרשם לאיונטים ומחכה שמשהו ישתנה ב MODEL ויופעל איווט ש המודל חושף
כדי ש ה VIEW ישתנה בצורה פאסיבית.
מה שזה בא לפתור לך שה MODEL שזה החלק שבדך כלל תרצה להעביר לאפליציה אחרת או לממש VIEW חדש לא תלוי ב VIEW ו ב CONTROLLER