1

INotifyPropertyChangedを実現してWPFバインディングの更新を可能にするデータオブジェクトがいくつかあります。値の更新に関心があるため、コードがPropertyChangedをサブスクライブする場所もいくつかあります。

これにより、実際に変更されたプロパティを確認する必要がある非常に醜いコードになります(これは、式を使用して行うため、常にタイプ/リファクタリングで安全です)。

サブスクライブするときに特定のイベント(PriceChangedなど)を発生させるか、PropertyChangedにフックしてプロパティ名を確認するかを選択しますか?

4

1 に答える 1

2

サブスクライブするプロパティの数がそれほど多くない場合は、読みやすさと見つけやすさの点で優れているため、専用のイベントを作成します。

ただし、かなりの数のプロパティがある場合、答えはそれほど明白ではありません。私は通常、Observer Synchronizationパターン (ViewModel ではなく Model の変更をサブスクライブする) を適用することで、このような状況を回避しようとします。VM をスリムに保つのに役立ちます。

于 2012-06-11T08:51:30.390 に答える