このスレッドで紹介されたいくつかの Mvvm フレームワークを知っています
説明するか、リンクを教えてください。それらは何に役立ちますか? MVVM Framework に関する MVVM に関する情報ではありません。ありがとう:)知りたい:MVVMフレームワークとは何ですか?
このスレッドで紹介されたいくつかの Mvvm フレームワークを知っています
説明するか、リンクを教えてください。それらは何に役立ちますか? MVVM Framework に関する MVVM に関する情報ではありません。ありがとう:)知りたい:MVVMフレームワークとは何ですか?
あなたの質問は本当に正確ではないと思います。私の知る限り、各フレームワークの機能をお尋ねですか?!
詳細については、こちらとこちらをご覧ください。ただし、これらのリンクの少なくとも1つは、あなたが言及したスレッドで既に提供されています...
編集:
基本的に、MVVM フレームワークは、MVVM (Model-View-ViewModel) パターンを利用するアプリケーションで一般的に使用されるクラスのコレクションです。これには、ソフトウェアの独立した部分間で通信するためのメッセージング システム、依存性注入手法、ViewModel の基本クラス、プロジェクト/クラス テンプレート、検証メカニズム、一般的に使用されるコマンド、ダイアログ ボックスを表示するための手法などが含まれる場合があります。
このようなフレームワークを完全に理解するには、まず MVVM パターンを理解する必要があります。そうして初めて (または最初の MVVM プロジェクトを実行した後でさえ)、このパターンの問題や課題を理解できるようになるからです。
Mvvm フレームワークを使用するには、以下の手順に従ってください。
ビューモデルは、モデルのラッパーではありません。ビューモデルの仕事は、データの読み込みや保存などの外部サービスのリクエストを仲介することです。データ自体、検証、およびほとんどのビジネス ロジックがモデルに含まれている必要があります。
私はこれを十分に強調することはできません。委任によってモデルをラップするビューモデルを作成すると、API に大きな穴ができます。特に、モデルを直接参照するものはすべて、ビューモデルと UI に通知されないようにプロパティを変更できます。同様に、モデル内の計算フィールドへの変更はビューモデルに反映されません。
理想的には、ビューモデルは、それが使用されるスクリーンにとらわれません。これは、複数のウィンドウがビューモデルの同じインスタンスを共有している可能性がある WPF アプリケーションで特に当てはまります。
このような小規模なアプリケーションの場合、アプリケーション全体に対して単一のビューモデルのみが必要になる場合があります。大規模なアプリケーションの場合、主要な機能用に 1 つと、構成管理などの二次的な側面ごとに 1 つが必要になる場合があります。
絶対的には、コード ビハインドは良いことでも悪いことでもありません。単一のビューまたはコントロールに固有のロジックを配置するための場所にすぎません。したがって、コード ビハインドがまったくないビューが表示されると、すぐに次の間違いをチェックします。
MVVM Light の EventToCommand は、コントロールが画面から削除された後にガベージ コレクションが行われないため、特に問題があります。
モデルの寿命が、そのイベントをリッスンするビューモデルよりも長い場合は、メモリ リークが発生している可能性があります。アンロードされたイベントを持つビューとは異なり、ビューモデルにはライフサイクル管理に適したストーリーがありません。そのため、彼らがイベントをモデルにアタッチすると、それらが長持ちする可能性があり、ビューモデルがリークされます。