2

こんにちは、便利なインターフェイスが欠けているかどうか教えてもらえますか? そして欠点はありますか?

モデルの場合:

  • IEditableObject
  • IClonable
  • INotifyPropertyChangingINotifyPropertyChangedバックエンドからのモデルの更新がある場合
  • ???

ビューモデルの場合:

  • INotifyPropertyChanging
  • INotifyPropertyChanged
  • IDataErrorInfo
  • IDisposable
  • ???

ビューの場合:

  • ??? (私は について聞いたIView (DataContext {set;}))
4

2 に答える 2

3

はい、フレームワーク自体が提供するすべての一般的なインターフェイスがあります。これらは、MVVM 忍者になるには十分なはずです。

他に何か必要な場合は、必要に応じて独自のインターフェイスを作成することをお勧めします。

一般的なインターフェイスについては、私が回答したこの関連する質問を参照してください。

インターフェイスを追加しすぎているのではないかと心配しています

インターフェイスを作成した場合IView、そのインターフェイスだけで自分のクラスを参照することはありますか? つまり、インターフェイスが公開する単一のプロパティを介して純粋にクラスと対話するコンテキストはありますか?

IViewまた、このインターフェースの複数の実装と対話するコンテキストを検討できますか?

これらの質問の両方に対する答えが「いいえ」の場合、インターフェースはほとんど役に立ちません。

于 2013-02-18T07:42:40.573 に答える
2

ICommandを実装する必要があるMVVM(ViewModel)でRelayCommandを作成するのが一般的な方法です。

于 2013-02-18T07:55:12.773 に答える