MVWとは何ですか? 質問する

MVWとは何ですか? 質問する

AngularJS ページのコンテンツの説明は次のとおりです。

AngularJS は、HTML が Web アプリの構築用に設計されていたとしたら、まさにその通りです。データ バインディング、MVW、MVVM、MVC、依存性注入、優れたテスト容易性を備えた宣言型テンプレートはすべて、純粋なクライアント側 JavaScript で実装されています。

では、MVW は何の略語でしょうか? (MVC、MVVW、MVP などの論争を考慮すると、「何でも」、モデル ビュー何でも =P だと思います)

ベストアンサー1

それは確かに何でも意味します。あなたにとってうまくいくものなら何でも2012年のIgor Minarによる(強調は筆者による):

MVC 対 MVVM 対 MVP。多くの開発者が何時間も議論し、論争するほど物議を醸すトピックです。

数年間、+AngularJS は MVC (またはむしろそのクライアント側のバリアントの 1 つ) に近いものでしたが、時間の経過とともに、多くのリファクタリングと API の改善により、現在は MVVM に近づいています。$scope オブジェクトは、コントローラーと呼ばれる関数によって装飾されている ViewModel と考えることができます。

フレームワークを分類して MV* バケットの 1 つに入れることができると、いくつかの利点があります。フレームワークを使用して構築されているアプリケーションを表すメンタル モデルを簡単に作成できるため、開発者が API に慣れるのに役立ちます。また、開発者が使用する用語を確立するのにも役立ちます。

そうは言っても、開発者が MV* のナンセンスについて議論して時間を無駄にするよりも、設計が優れ、関心の分離に従った素晴らしいアプリを構築するのを見たいものです。このため、私は AngularJS を MVW フレームワーク (Model-View-Whatever) であると宣言します。ここでWhatever は「あなたにとってうまくいくものなら何でも」を意味します

Angular は、プレゼンテーション ロジックをビジネス ロジックやプレゼンテーション状態から適切に分離する柔軟性を大いに提供します。結局のところそれほど重要ではない事柄について白熱した議論をするのではなく、生産性とアプリケーションの保守性を高めるために Angular を使用してください。

おすすめ記事