2009-08-19 9 views
41

私は最近、MVPパターンを初めて使用した小売POSシステムを構築するために.Net WPFプロジェクトに取り組んだ。私はアプローチの変化に頭を抱えていましたが、それをやった後はコンセプトが揺れていると思いました!MVC/MVP/MVVM何なのか?

私の質問はこれです:MVC、MVPとMVVMの違いは何ですか?明確な区別がある場合は、あるパターンを別のパターンに適用すべきときのガイドラインはありますか?

誰かがこれに関するガイダンスを提供したり、違いを説明する記事を指し示すことができれば、非常に感謝しています。

+0

デフォルトでMVVパターンでWPFがSilverlightとして開発された場合、MVPをどのように使用できましたか? –

+1

[MVPとMVCとは何ですか?その違いは何ですか?](http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference) – Mast

答えて

3

特定のフレームワークで実装特定のパターンを見ることによって、パターンの違いを完全に理解することが困難であることができます。戻る2004年に、Martin Fowler氏はプレゼンテーションモデル(PM)という名前のパターンについての記事を掲載した[...]を検討

:このMSDNの記事WPF MVVMは、一般的なアプローチとして、パターンを説明マーティンFowlers元の記事を参照し、 MVVMはより一般的なPMパターンの特殊化であり、 はWPFとSilverlightプラットフォーム向けにカスタマイズされています。

異なるパターンを理解するには、Martin Fowlerのさまざまなアプローチの説明を参照すると便利です。彼のPassive ViewパターンはMVPアプローチです。彼のSupervising ControllerパターンはMVCアプローチです。彼のPresentation ModelパターンはMVVMアプローチです。このolder articleは、このようなパターンの進化を取ります。

また、さまざまな言語の実装を調べるのに役立つ場合もあります。記事Implementing event-driven GUI patterns using the ZK Java AJAX frameworkは、上記の3つのMartin Fowlerパターンを現代のJavaフレームワークと対比しています。 WPFとは異なる言語と異なるフレームワークを使用していても、パターンの実装ではなく、別の言語でのパターンの参照を支援することができます。

関連する問題