シングルトン ツール ウィンドウ (Visual Studio を考えてください) を備えた MVVM MDI アプリでは、現在選択されているドキュメントに応じてツール ウィンドウの内容が変化します。現在 5 つのツール ウィンドウがあり、今後さらに増える予定です。
各ドキュメントのツール ウィンドウごとに、新しい View や ViewModel を再利用または作成できます。私の質問は、これらのオプションのいずれかを選択または除外する圧倒的な理由があるかどうかです。私が完全に見逃した別のオプションはありますか?
各ツール ウィンドウについて:
ドキュメントごとに新しい View+ViewModel を作成します。ユーザーがドキュメントを切り替えると、ツール ウィンドウは View+ViewModel を切り替えます。このオプションではメモリ コストが高くなりますが、パフォーマンスは良好です。
ドキュメントごとに ViewModel を作成しますが、View を再利用します。MVVM パターンではこれは可能ですが、UI の再レイアウトにはコストがかかる可能性があります。
View と ViewModel の両方を再利用して、メモリ使用量を最小限に抑えます。ViewModel をリセットして別のデータ セットをロードすることは、正しく行うのが難しい場合があります。