私の教授が、なぜ私がWebアプリケーションにMVCを使用することを選んだのかと私に尋ねると確信しています。
正直なところ、私はMVCを初めて使用します。私はそれについて読みました、私はそれを使ってブログアプリケーションを構築しています、私はこの方法で問題に取り組むことは非常に論理的だと思います。
しかし、なぜ?O_O空白を描きます。N層アプリケーションを構築するというよりも、どのように適していますか?
私の教授が、なぜ私がWebアプリケーションにMVCを使用することを選んだのかと私に尋ねると確信しています。
正直なところ、私はMVCを初めて使用します。私はそれについて読みました、私はそれを使ってブログアプリケーションを構築しています、私はこの方法で問題に取り組むことは非常に論理的だと思います。
しかし、なぜ?O_O空白を描きます。N層アプリケーションを構築するというよりも、どのように適していますか?
ええと、基本的には、物理的なレベルではなく、使用レベルに関する関心の分離です。
MVCは、ユーザーインターフェイスの相互作用を3つの異なる役割に分割します。
MVCを使用すると、プレゼンテーション(V、C)をドメインロジック(M)から分離し、UIの動作(C)をUI表示(V)から分離します。これは、3つの懸念事項すべてを1つに混ぜ合わせるよりもはるかに保守性が高く、再利用とテストも促進します。それはあなたがより複雑に取り組むことを可能にします。
これは、Webアプリケーションだけに当てはまるものではありません。ドメインロジックとUIを備えたすべてのアプリケーションに適しています。そうは言っても、MVCがWebアプリに最適なパターンであるとは言えません。たとえば、Web上のお問い合わせフォームを作成するだけであれば、オールインワンページのスクリプトで十分です。静的ページがたくさんあるだけなら、MVCもやり過ぎです。したがって、他のパターンと同様に、解決したい問題によって異なります。
n層に関しては、「クラシック」MVCはWebでの使用を予測していませんでした。ブラウザとリモートサーバー上のコントローラーでUIの表示が行われるため、Web上のMVCも常に多層アーキテクチャであるため、最初はユースケースと物理の違いがあります。MVCは、それがどこで発生するかを気にしません。
以下も参照してください。