私のWPFアプリケーションは、MVVMパターンを使用して構造化されています。ViewModelsはサーバーと非同期で通信し、要求されたデータが返されると、ViewModelのコールバックがトリガーされ、このデータを処理します。これは、UIスレッドではないスレッドで実行されます。これらのコールバックには、UIスレッドで実行する必要のある作業が含まれることがあるため、ディスパッチャーが必要です。これは次のようなものである可能性があります。
- ObservableCollectionへのデータの追加
- GUIに表示するものを設定するPrismコマンドをトリガーします
- ある種のWPFオブジェクトを作成します。
私は後者を避けようとしますが、ここでの最初の2つのポイントは、ViewModelsが行うのに合理的なことであることがわかります。それで; ViewModelsにディスパッチャーを保持させてUIスレッドのコマンドを呼び出すことができるようにしても大丈夫ですか?それとも、これは悪い習慣と見なされますか?なぜ?