2

コンパクトで、メモリフットプリントを最小限に抑える必要があるWPFアプリケーションがあります。GUIは、フロー、数ページ、グリッドの観点からは単純ですが、グラフィックス、アニメーションなどの観点からは非常に豊富です。

Prismでアプリケーションを作成した経験があり、とても気に入っています。しかし、単純なタスクには重すぎるように見えます。これはLOBアプリケーションではありませんが、テスト容易性、GUI/フロー/ビジネスの分離などが必要です。

とにかくMVVMを使用する必要がありますか?

アプリケーションのメモリ使用量を最小限に抑えようとするときに、MVVMデザインパターンを使用するオーバーヘッドが心配すべきかどうかはわかりません。

4

3 に答える 3

6

はい、WPFを使用している場合は、MVVMを使用してください

WPFは、UIレイヤーとデータレイヤーを持つように設計されており、これはMVVMデザインパターンに完全に適合します。コーディングとメンテナンスがはるかに速く簡単になると思います。

本格的なMVVMフレームワークを使用する必要はなく、MVVMフレームワークを使用する必要もありません。INotifyPropertyChanged使用したい部分( 、、RelayCommandまたは、メッセージングシステムなどを継承するベースオブジェクト)を選択して選択しDelegateCommand、残りをすべて削除することができます。または、独自に作成することもできます。

オーバーヘッドの量は最小限であり、パターンを回避する価値はありませんが、一部のMVVMフレームワークには不要な機能が含まれており、オーバーヘッドが発生する可能性があるため、必要な部分だけを選択してください。

重要なのは、WPFを使用している場合は、MVVMデザインパターンを使用することです。それはあなたの人生、そしてプロジェクトに取り組む将来の開発者の人生をはるかに楽にします:)

于 2012-07-19T14:03:18.287 に答える
4

私は本当にMVVMを使用することをお勧めします。

巨大なプロジェクトでこのパターンを使用しましたが、次の推奨事項でうまく機能しました。

  • 非常に便利なものを使用しており、その名前が示すように、light、MVVM Light Toolkit lib
  • ViewModelLocatorのものは使用しません。ビューを動的にインスタンス化するときに機能させるのは難しすぎます。this.Datacontext = new TheViewModel();コードビハインドの古き良き時代は大丈夫です
  • メッセンジャーのものは使用しません。あまりにも複雑すぎて、ほとんどメリットがありません。ビューモデルから発生する古き良きイベントは、はるかに単純なIMOです。
  • 多くの場合、XAMLを無意味に複雑にするEventToCommandのものは使用しません。
  • コードが純粋にビューに関連している場合は、コードビハインドを記述します。マウスジェスチャ機能(ドラッグアンドドロップ...)またはその他の特定のUIの場合、コードビハインドはコントロールイベントの処理に適しています。
于 2012-07-19T14:04:06.150 に答える
2

まず第一に:はい、MVVMはC#/WPFアプリケーションを設計する方法の推奨される方法です

2番目:フレームワークをまったく使用せずにMVVMを使用できます。そうすれば、MVVMを構築するのと同じくらい軽量になります。

可能なMVVMフレームワークの概要についてはこちらをご覧ください: さまざまなMVVMフレームワークの詳細な説明

于 2012-07-19T14:09:37.903 に答える