MVC vs MVVM vs MVP。多くの開発者が何時間もの時間を費やして議論し、議論することができる、議論の余地のあるトピックです。
数年前から+ AngularJSはMVC(またはクライアント側のバリアントの1つ)に近かったが、時間の経過とともに多くのリファクタリングとAPIの改善により、MVVMに近づきました。$ scopeオブジェクトは、コントローラと呼ばれる関数によって装飾されています。
フレームワークを分類してMV *バケットの1つに配置できることには、いくつかの利点があります。フレームワークを使用して構築されているアプリケーションを表すメンタルモデルを簡単に作成できるようにすることで、開発者がAPIに慣れるのに役立ちます。また、開発者が使用する用語の確立にも役立ちます。
とは言っても、開発者がMV *のナンセンスについて議論するのに時間を浪費するのではなく、開発者が適切に設計され、懸念の分離に従ってキックアスアプリを構築することを望みます。このため、AngularJSをMVWフレームワーク-モデル-ビュー-なんでもと宣言します。何が何のためにあるかは、「あなたのために働くもの」を意味します。
Angularは、ビジネスロジックやプレゼンテーションの状態からプレゼンテーションロジックをうまく分離するための多くの柔軟性を提供します。1日の終わりにそれほど重要ではないことについての白熱した議論ではなく、生産性とアプリケーションの保守性を向上させるために使用してください。