皆さん、
MVP よりも MVC を使用する利点は何ですか? MVP のフレームワークを使用する必要がなく、インターフェイスとクラスを介して実装できることが気に入っています。私はまだ MVC が持っている懸念事項を分離し、単体テストを行っています。MVP よりも MVC を使用する利点は何ですか?
皆さん、
MVP よりも MVC を使用する利点は何ですか? MVP のフレームワークを使用する必要がなく、インターフェイスとクラスを介して実装できることが気に入っています。私はまだ MVC が持っている懸念事項を分離し、単体テストを行っています。MVP よりも MVC を使用する利点は何ですか?
「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
重複に関するコメントで精査されてきたので、このSOの質問を参照し、「より高い権限」に任せて、適切と思われる場合は終了します:P
MVPとMVCとは何ですか?違いは何ですか?
人々はイニシャルや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 や鈍いロジックなどを放棄します。