1

エラーと警告を含むポップアップを表示できるようにしたい。ViewModelこれらは、アプリケーション内の私および他のユーティリティに由来します。この機能を提供
する静的クラスがあります。MessageBoxHelper

私は今、私のテスト可能性に問題が発生しています。ロギングの失敗を確認したい場合は、テストがトリガーされ、テストでMessageBoxa が取得UI thead exceptionされます。

この機能を提供するために、わずかなオーバーヘッドでクリーンな疎結合システムを実現したいと考えています。私はすでに2つのアイデアを思いつきましたが、私にとってはまだ多くの欠点があります:

  1. IMessageBoxHelpermy に登録されたインターフェイスを実装しますDI Container。これには、別のパラメーターを my に追加する必要がありましたConstructor。そして、私は巨大なコンストラクターを持つことを避けたいです。
  2. MessageBoxHelpermy を使用してメッセージを直接送信し、これらをキャッチして表示するシングルトンとしてEventAggregator実装する代わりに。しかし、これは私には少し過度に設計されているようです。MessageBoxListenerMessages

これらのアイデアは正しいですか、それとも別の方法がありますか?

4

1 に答える 1

3

ビューモデルがメッセージボックスを表示できることに依存している場合 (例: IMessageBoxHelper)、依存関係を注入してそれを明らかにしてみませんか? 単体テストは簡単になります。ソリューション 1 の選択に問題はありません。

于 2013-02-22T07:47:05.980 に答える