「MVC、MVP、および MVVM デザイン パターンの違い」というフレーズを使用して Google を検索すると、理論的には次のような MVC MVP と MVVM デザイン パターンの違いについて説明している URL がいくつか表示される場合があります。
MVP
「dataContext」によるバインドが不可能な状況で使用します。Windows フォームは、この完璧な例です。モデルからビューを分離するには、プレゼンターが必要です。ビューはプレゼンターに直接バインドできないため、インターフェイス (IView) を介して情報をビューに渡す必要があります。
MVVM
「dataContext」によるバインドが可能な状況で使用します。なんで?各ビューのさまざまな IView インターフェイスが削除されているため、維持するコードが少なくなります。Knockout を使用して MVVM に WPF および JavaScript プロジェクトを含めることができるいくつかの例。
MVC
ビューと残りのプログラムの間の接続が常に利用できるとは限らない (MVVM または MVP を効果的に使用できない) 状況で使用します。これは、Web API がクライアント ブラウザーに送信されるデータから分離されている状況を明確に示しています。Microsoft の ASP.NET MVC は、このような状況を管理するための優れたツールであり、非常に明確な MVC フレームワークを提供します。
しかし、サンプル コードとともに理論的に違いを説明している記事は 1 つも見つかりませんでした。
この 3 つのデザイン パターン (MVC、MVP、MVVM) の違いをコードと共に説明する記事を入手できれば、非常にうれしいです。
これら 3 つの設計パターン (MVC、MVP、MVVM) で実装された3 つの類似のCRUDアプリのソース コードを入手したいと思います。コードを調べて、これら 3 つの設計パターン (MVC、MVP、および MVVM) のコードをどのように記述すべきかを理解できるようにします。
したがって、これら 3 つの設計パターン (MVC、MVP、および MVVM) でコードがどのように異なるかを説明している記事が存在する場合は、その記事にリダイレクトしてください。