MVVM のどこに INotifyPropertyChanged を実装する必要がありますか: ViewModel か Model?
MVVM アプリケーションを開発する場合、ViewModel か Model かという問題が生じます。 INotifyPropertyChanged インターフェイスを実装する必要があります。多くの例では、モデルがこのインターフェイスを実装していることが示されていますが、Josh Smith の CommandSink の例では、ViewModel にこのインターフェイスを実装させるという異なるアプローチが取られています。
モデル INotifyPropertyChanged 実装の理論的根拠
いくつかの議論があります。 INotifyPropertyChanged は UI 固有ではないため、モデルは実装すべきではありません。ただし、この議論は、UI の関与に関係なく、このインターフェイスは単に変更を通知するだけであるという事実を見落としています。したがって、非 UI ロジックのトリガーなど、他のユースケースに適しています。
ViewModel の INotifyPropertyChanged 実装の理論的根拠
その他は、INotifyPropertyChanged を実装する ViewModel をサポートします。データバインディングを簡素化します。これにより、モデル上の複雑なイベント ハンドラーや、プロパティの変更を ViewModel からモデルに伝播する必要がなくなります。
標準的なアプローチはありますか?
これらの議論にもかかわらず、この質問に対する明確な答えはありません。 MVVM により、柔軟な実装が可能になります。決定を下す際は、次の要素を考慮してください:
結論
最終的には決断次第プロジェクトの特定の要件に応じて。各アプローチの長所と短所を比較検討して、最も適切な解決策を決定します。独断を避け、さまざまな実装を検討して、アプリケーションに最適なものを見つけてください。
以上がViewModel または Model: INotifyPropertyChanged は MVVM のどこに配置する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。