AngularJSページのコンテンツの説明は次のとおりです。
AngularJSは、Webアプリを構築するために設計されていた場合のHTMLです。データバインディング、MVW、MVVM、MVC、依存性注入、優れたテスト容易性ストーリーを備えた宣言型テンプレートはすべて、純粋なクライアント側JavaScriptで実装されています。
では、MVWは何の略ですか?(MVC、MVVW、MVPなどの争いを考えると、「何でも」、Model-View-Whatever = Pだと思います)
2012年のIgorMinar(強調鉱山)ごとにあなたのために働くもののように、それは確かに何を意味します:
MVC vs MVVMvsMVP。多くの開発者が何時間も議論したり議論したりするのに何時間も費やすことができる、なんと物議を醸すトピックでしょう。
数年間、+ AngularJSはMVC(またはクライアント側のバリアントの1つ)に近づいていましたが、時間の経過とともに、多くのリファクタリングとAPIの改善により、MVVMに近づきました。$scopeオブジェクトはViewModelと見なすことができます。コントローラーと呼ばれる関数によって装飾されています。
フレームワークを分類してMV*バケットの1つに入れることができることには、いくつかの利点があります。フレームワークで構築されているアプリケーションを表すメンタルモデルを簡単に作成できるようにすることで、開発者がAPIをより快適に使用できるようになります。また、開発者が使用する用語を確立するのにも役立ちます。
そうは言っても、MV *のナンセンスについて議論する時間を無駄にするよりも、開発者が適切に設計され、関心の分離に従うキックアスアプリを作成することを望んでいます。このため、AngularJSをMVWフレームワーク(Model-View-Whatever)として宣言します。「あなたのために働くものは何でも」の略です。
Angularは、プレゼンテーションロジックをビジネスロジックおよびプレゼンテーション状態から適切に分離するための多くの柔軟性を提供します。結局のところそれほど重要ではないことについての白熱した議論ではなく、生産性とアプリケーションの保守性を高めるために使用してください。
MVWはModel-View-Whateverの略です。
完全を期すために、ここに言及されているすべての頭字語があります:
MVP-モデル-ビュー-プレゼンター
MVVM- Model-View-ViewModel
MVW / MV */MVx-モデル-ビュー-何でも
そしてもう少し:
HMVC-階層モデル-ビュー-コントローラー
MMV-多目的モデルビュー
MVA-モデル-ビュー-アダプター
MVI-モデル-ビュー-インテント
そうは言っても、MV *のナンセンスについて議論する時間を無駄にするよりも、開発者が適切に設計され、関心の分離に従うキックアスアプリを作成することを望んでいます。このため、AngularJSをMVWフレームワーク(Model-View-Whatever)であると宣言します。「あなたのために働くものは何でも」の略です。
AngularJS —スーパーヒーローJavaScriptMVWフレームワーク
私の意見では、MWV(Model View Whatever)またはMV *は、Angularjsの独自性の一部を説明するためのより柔軟な用語だと思います。これはMVC(Model View Controller)JavaScriptフレームワーク以上のものであることを理解するのに役立ちましたが、ModelViewとControllerを備えているためMVCを使用しています。
また、MVP(モデルビュープレゼンター)パターンと見なすこともできます。プレゼンターは、Angularjs fortheViewのユーザーインターフェイスビジネスロジックだと思います。たとえば、表示用にデータをフォーマットできるフィルターを使用します。これはビジネスロジックではなく、表示ロジックであり、GWTで使用したMVPパターンを思い出させます。
さらに、MVVM(モデルビュービューモデル)にすることもできます。ビューモデルパーツは、2つの間の双方向のバインディングです。最後に、それはMVWです。これは、@ Steve Chambersによって言及されているだけでなく、使用できる他のパターンもあるためです。
重要なのは用語から概念を理解することであるため、これらの用語を理解することは有害である可能性があるという他の回答に同意しますが、同じように、用語を完全に理解することは、アプリケーションコードを設計するときに役立ちます。どこに、そしてなぜ行きます。