7

重複の可能性:
MVP と MVC とは何ですか? また、その違いは何ですか?
mvc と mvp パターン

皆さん、

MVP よりも MVC を使用する利点は何ですか? MVP のフレームワークを使用する必要がなく、インターフェイスとクラスを介して実装できることが気に入っています。私はまだ MVC が持っている懸念事項を分離し、単体テストを行っています。MVP よりも MVC を使用する利点は何ですか?

4

3 に答える 3

5

「MVP」も知らなかったのですが、haack[overflow]にはかなり格好良い記事があります...

MVCとMVPについて知りたかったが、質問することを恐れていたすべて

Haackがクロスリンクされた画像をブロックするリスクがあります...Haackは違いが明らかだと言い ます:) alttext http://haacked.com/images/haacked_com/WindowsLiveWriter/MVCandMVPPatternResources_71CE/WinMerge%20-%20%5BMVP.txt%20 -%20mvc.txt%5D_3.png

于 2009-07-30T16:54:08.030 に答える
1

重複に関するコメントで精査されてきたので、このSOの質問を参照し、「より高い権限」に任せて、適切と思われる場合は終了します:P
MVPとMVCとは何ですか?違いは何ですか?

于 2009-07-30T16:57:23.890 に答える
0

人々はイニシャルやTLAにこだわりすぎてしまうことがあります。

Phil Haack が彼の記事で言っていることが本当なら、私は ASP.NET MVC で MVC を使用していると思っていましたが、実際に使用しているのは MVP (または微調整された形式の MVC) です。

MVC では、マウスとキーボードのイベントを処理するのは常にコントローラーの役割です。MVP では、GUI コンポーネント自体が最初にユーザーの入力を処理しますが、その入力の解釈はプレゼンターに委任します。

しかし、ASP.NET MVC の本当の目的はそれだけではありません。

マウスとキーボードのイベントを処理する場合は、jQuery を使用してブラウザーで処理するのが好きです。これにより、ユーザーの操作がコントローラーから分離され、UI レイヤーと「ビジネス」レイヤーの間の分離が向上します。

AJAX 呼び出しまたは JSON 呼び出しを使用してページの一部を更新する必要がある場合、MVC と呼ぶか MVP と呼ぶかに関係なく、とにかくそれを行う必要があります。

たとえば、ASP.NET WebForms は、ViewState を使用してリッチ クライアント開発パラダイムをエミュレートしようとします。ASP.NET にパターンを適用しようとする多くの試みが MVP パターンに焦点を当てているのは、このためです。MVP パターンは、GUI コンポーネントを備えたリッチ クライアント アプリケーションにより適しているからです。

ただし、多くの Web プラットフォームは、Web のステートレスな性質を取り入れており、ステートフルなリッチ クライアント開発環境をシミュレートする試みを放棄しています。このようなシステムでは、微調整された MVC パターンがより適切です。

Phil が MVC (の微調整された形式) をよりステートレスでシンクライアントへの移行と見なしているのに対し、MVP はリッチなユーザー エクスペリエンスを提供するために UI レイヤーにより多くの責任を負わせていることは明らかです。

これが良いかどうかは主観的なものです。ASP.NET が MVP で、ASP.NET MVC が MVC である場合、MVC のイニシャルを喜んで受け入れて、viewstate や鈍いロジックなどを放棄します。

于 2009-07-30T17:04:49.257 に答える