2

MVVM パターンでは、View から ViewModel への参照は必要ないと考えました。しかし、ViewModel が新しいウィンドウを実装して表示する code.msdn.microsoft の MVVM サンプルを見たところです。

MVVM-Light ツールキットを使用すると、Messenger を使用して呼び出したり、新しいウィンドウを開いたりしても、View と ViewModel を互いに分離したままにできます。ViewModel で View を参照するのは正しいですか? またはそれは間違っています。

大規模な(または中規模の)プロジェクトでは、ViewModel から直接ビューを呼び出すことをお勧めしますか?

http://code.msdn.microsoft.com/windowsdesktop/Easy-MVVM-Examples-fb8c409f

4

2 に答える 2

1

ViewModel から View への強い参照を持つ IMO には、次の 2 つの問題があります。

  • ViewModel コードのテスト可能性が損なわれます。これは、コードの単体テストをそれほど簡単に行うことができないことを意味します。そうすると、Dispatcher問題などを説明する必要があります。
  • これにより、ViewModel が WPF アセンブリと型に依存するようになります。つまり、ViewModel を文字通りコピーして、Xamarin.Android などの他のアプリケーションやプラットフォームに貼り付けることはできません。

これらのどれもあなたにとって重要でないなら、そうしない理由はないと思います。WindowManagerそうしないと、 s などを実装する必要があるため、コードに追加のオーバーヘッドが発生します。

于 2013-10-17T15:23:57.380 に答える