Separation of Conerns Menschen. Trennung der Anliegen.
Vergessen Sie Unit-Tests (ich liebe sie, aber das ist hier nicht das Thema). Vergessen Sie die Wiederverwendbarkeit (verwenden Sie wirklich View-Modelle wieder? Nein, seien wir ehrlich).
Es geht um die Trennung von Belangen und darum, Code und Logik dort unterzubringen, wo sie hingehören. Der Grundgedanke ist die Wartbarkeit; die Möglichkeit, Änderungen am Code vorzunehmen, wenn er sich im Laufe der Zeit weiterentwickelt, ohne andere Dinge zu zerstören und ohne das Ganze in einen großen Haufen von Spaghetti zu verwandeln.
MVVM, richtig gemacht, ermöglicht es, Ihren Code in logische Teile zu zerlegen, die Sinn machen und ein einfaches Refactoring und Änderungen ermöglichen, wenn sich die Anforderungen der Anwendung ändern. Es ist einfacher zu finden wobei etwas ist, wenn Sie etwas ändern müssen. Versuchen Sie einmal, eine halbwegs komplexe Anwendung zu schreiben und sie dann einen Monat lang in Ruhe zu lassen, um dann darauf zurückzukommen und zu versuchen, wesentliche Änderungen vorzunehmen. Eine richtig strukturierte Anwendung mit vernünftigem Einsatz von MVVM ist nach einer Pause viel einfacher zu verstehen, und es ist viel einfacher, Änderungen vorzunehmen.