モデルの一部に、モデリングしている実世界のオブジェクトの状態が含まれているMVVMアプリケーションを構築しています。状態は外部イベントから変化します。たとえば、私のモデルは、変化する株式に関する情報をTCP / IP経由で取得し、その変化を反映するように状態を更新します。
ここで、変更をビューに反映させたいと思います。そのための方法は、ViewModelに変更を通知することです。これを行うには2つの方法が考えられます。
1つは、モデルにINotifyPropertyChangedを実装させ、プロパティが変更されたときにイベントを発生させることです。しかし、これはどういうわけか眉をひそめているようです。
2つ目は、モデル内で変更できる各プロパティのイベント、ViewModelが明示的にバインドできるイベントを実装することです。
推奨される方法は何ですか?それを行う他の方法(より良い方法)はありますか?
編集:slugsterからのコメントとここ
の両方で、モデルに状態を持たせることはモデルの目的ではないことを読みました。
ただし、John Gossmansの元のMVVM投稿では、 「モデルはMVCのように定義されています。状態を格納し、問題のドメインの処理を行うのは、完全にUIに依存しないデータまたはビジネスロジックです。」