MVC gegen MVVM gegen MVP. Was für ein kontroverses Thema, über das viele Entwickler stundenlang diskutieren und streiten können.
AngularJS war mehrere Jahre lang näher an MVC (oder besser gesagt an einer seiner clientseitigen Varianten), aber im Laufe der Zeit und dank vieler Refactorings und API-Verbesserungen ist es jetzt näher an MVVM - das $ scope-Objekt könnte als ViewModel betrachtet werden durch eine Funktion dekoriert werden, die wir einen Controller nennen.
Die Möglichkeit, ein Framework zu kategorisieren und in einen der MV * -Buckets zu legen, hat einige Vorteile. Es kann Entwicklern helfen, sich mit seiner API besser vertraut zu machen, indem es die Erstellung eines mentalen Modells erleichtert, das die Anwendung darstellt, die mit dem Framework erstellt wird. Es kann auch hilfreich sein, eine Terminologie festzulegen, die von Entwicklern verwendet wird.
Trotzdem würde ich lieber sehen, wie Entwickler umwerfende Apps entwickeln, die gut gestaltet sind und der Trennung von Bedenken folgen, als dass sie Zeit damit verschwenden, über MV * -Nonsens zu streiten. Aus diesem Grund erkläre ich AngularJS hiermit zum MVW-Framework - Model-View-Whatever. Wo was auch immer für "was auch immer für Sie funktioniert" steht .
Angular bietet Ihnen viel Flexibilität, um die Präsentationslogik von der Geschäftslogik und dem Präsentationsstatus zu trennen. Verwenden Sie es, um Ihre Produktivität und Wartbarkeit der Anwendung zu steigern, anstatt heftige Diskussionen über Dinge zu führen, die am Ende des Tages nicht so wichtig sind.