デスクトップ アプリケーションとして WPF で開発される新しいプロジェクトを開始しています。私は開発パターンの調査に何日も費やしました。これはエンタープライズ アプリケーションになるため、MVVM が適しているようです。私の懸念は、私が見つけたすべての情報が 2009 年のものであるということです。この情報がまだ有効かどうか、また正しい方向を向いているかどうか誰か教えてもらえますか?
前もって感謝します。
はい、MVVM は間違いなく WPF 開発の方法です。
デザイン パターンは、WPF のフレームワークとバインディング システムの性質に完全に適合しています。興味があれば、実際に簡単な MVVM の例をブログに投稿しています。
はい、あなたの方向は正しいです。
一部の MVVM 情報が 2009 年のものであっても、 Caliburn microやMVVMLightなど、定期的に更新される WPF MVVM ベースのフレームワークがあります。
きれいなコードを書くのに本当に役立つので、そのうちの 1 つに時間を費やすことをお勧めします。個人的にはカリバーンマイクロが好きです。
一般的に言えば、どの GUI アーキテクチャ パターンも実装して WPF で使用できます。Martin Fowler は、彼のブログで最も人気のあるパターンについて詳しく説明しています。
プレゼンテーション モデル パターンの最新段階である MVVM は、WPF で有名です。これは、バインディングのようなすぐに使える同期状態メカニズム、データ テンプレートのようなビュー マッピング上の単純なビュー モデルを提供し、構築方法の例がたくさんあるためです。 WPF を使用した MVVM。
しかし、それは特定のプロジェクトに依存し、MVP パターンに従って WPF ソリューションを簡単に構築できる場合もあります。 WPF バインディングを使用し、多くのメソッドが含まれているため、XAML から宣言的にコントロールを使用する能力が低下します)、それらを mvvm パターンに採用するために追加の努力を払う必要があります。
はい、MVVM が最適です。
ほとんどのアプリケーションで MVVM を使用しています。私が新しい会社に入社したとき、チームが過去 1 年間取り組んでいた WPF アプリケーションに苦労しているのを見ました。パフォーマンス、保守性、再利用性がいくつかの大きな問題でした。コードを見たとき、すべての問題を解決するために頭に浮かんだのはMVVMだけでした。
MVVM を適切に実装するコードをリファクタリングし、20 ~ 30% のコードを取り除き、多くのコードを再利用して、パフォーマンスを許容レベルまで改善することができました。
MVVM(厳密に従った場合)は、WPF機能を正しく使用するのに役立つだけでなく、WPF機能を使用せずに解決したり、WinFormsの方法を使用したりするのではなく、WPFの方法でソリューションを調べることを強制するため、より重要で役立ちます。新しいチームのために。
ここに私があなたに経験することをお勧めするいくつかのSOの質問があります -
UserControl ベースの WPF アーキテクチャで MVVM を放棄した経験は何ですか?
Caliburn micro は、最近更新された MVVM ライブラリです: http://caliburnmicro.codeplex.com/ とにかく、MVVM の概念は 2009 年から変わっていません。