モデルがを実装すべきではないという概念に強く反対しINotifyPropertyChanged
ます。このインターフェースはUI固有ではありません!単に変更を通知するだけです。実際、WPFはこれを頻繁に使用して変更を識別しますが、それがUIインターフェイスであることを意味するわけではありません。私はそれを次のコメントと比較します:「タイヤは車の付属品です」。確かにそうですが、自転車やバスなども使っています。要約すると、そのインターフェイスをUIのものと見なさないでください。
そうは言っても、それは必ずしもモデルが通知を提供するべきだと私が信じているという意味ではありません。実際、経験則として、モデルは、必要でない限り、このインターフェースを実装すべきではありません。サーバーデータがクライアントアプリにプッシュされないほとんどの場合、モデルは古くなっている可能性があります。しかし、金融市場のデータを聞いていると、モデルがインターフェイスを実装できない理由がわかりません。例として、特定の値の買値または売値を受け取ったときにアラートを発行したり(電子メールを介して)注文したりするサービスなど、UI以外のロジックがある場合はどうなりますか?これは、可能なクリーンな解決策である可能性があります。
ただし、物事を達成する方法はいくつかありますが、私は常に単純さを支持し、冗長性を回避することを主張します。
何が良いですか?コレクションのイベントまたはビューモデルのプロパティの変更を定義し、それをモデルに伝播するか、ビューに(ビューモデルを介して)本質的にモデルを更新させますか?
誰かが「これはできない、または」と主張しているのを見ると、それは彼らが何について話しているのかわからないという兆候です。
それは本当にあなたのケースに依存します、そして実際、MVVMは多くの問題を抱えたフレームワークであり、私はまだ全面的にMVVMの一般的な実装を見ていません。
MVVMの多くのフレーバーと、一般的な問題のいくつかの解決策を説明する時間がもっとあればいいのにと思います。ほとんどは他の開発者によって提供されていますが、別の機会に説明する必要があると思います。