私は最近、.Net WPFプロジェクトに取り組み、MVPパターンを初めて使用する小売POSシステムを構築しました。アプローチの変化に頭を悩ませるのに少し時間がかかりましたが、一度やってみるとコンセプトが揺らいでいると思いました!
私の質問はこれです:MVC、MVP、MVVMの違いは何ですか?明確な区別がある場合、あるパターンを別のパターンの上でいつ使用すべきかについてのガイドラインはありますか?
誰かがこれについてのガイダンスを提供することができるか、または違いを説明する記事を指すことができれば、私はそれを非常に感謝します。
Microsoftのアプリケーションアーキテクチャガイドでは、MVCとMVPについて説明し、2つの違いについて説明しています。
http://www.codeplex.com/AppArch
このMSDNの記事では、MVVMとその進化について説明しています。
特定のフレームワークに実装されている特定のパターンを見て、パターン間の違いを理解するのは難しい場合があります。このmsdnの記事 WPF MVVM は、一般的なアプローチとしてパターンを説明するMartinFowlersの元の記事を参照しています。
2004年に、Martin Fowlerは、Presentation Model(PM)という名前のパターンに関する記事を公開しました[...] MVVMは、より一般的なPMパターン、 WPFおよびSilverlightプラットフォーム。
したがって、さまざまなパターンを理解するには、MartinFowlerによるさまざまなアプローチの説明を確認すると便利です。彼の パッシブビュー パターンはMVPアプローチです。彼の Supervising Controller パターンはMVCアプローチです。彼の プレゼンテーションモデル パターンはMVVMアプローチです。この 古い記事 はそのようなパターンの進化について取り上げます。
また、さまざまな言語での実装を確認することも役立つ場合があります。記事 ZKを使用したイベント駆動型GUIパターンの実装Java AJAXフレームワーク )は、上記の3つのMartinFowlerパターンを対比しています。 modern Javaフレームワーク。WPFとは言語やフレームワークが異なりますが、パターンを実装して別の言語で実行するよりも、パターンを確認する方が役立つ場合があります。