1

これは、関連クラスの使用方法で言及された質問の続きです。. 今問題は

私はwpf UIを持っており、MVVMパターンを使用してすべてを達成しています。

  1. 最初のページで、教師を構成できるはずです (追加/削除/更新)。教師クラスの属性は、Name と Id かもしれません。

  2. 2 番目のページでは、生徒を構成し、生徒の教師を選択できるはずです。

  3. 3 番目のページでは、学生の科目を構成できるはずです。

  4. 4 番目のページでは、各学生とその科目のスタディ パートナーを構成できるはずです。

したがって、教師情報は最初のページに基づいているため、2 番目のページが表示される場合は、最初のページで行われた構成に依存します。

3 番目のページは 2 番目のページに依存します。2 番目のページで学生のリストを作成した後、3 番目のページで科目を割り当てます (ここでは、科目リストは静的であり、これを構成する必要はありません)。

4 番目のページは、2 番目と 3 番目のページに依存します。これは、学生情報が 2 番目に構成され (学習パートナーは留学生自身であるため)、学生の科目情報が 3 番目のページで構成されているためです。

私のモデルは、この Student 、 Teacher 、 Subject 、 StudyPartners の情報を定義してビュー モデルに返します。これらすべてのクラス (ビジネス オブジェクト) は INotifyPropertyChanged インターフェイスを実装する必要がありますか? 私はUI固有のものはモデルではなくビューモデルでのみ利用可能であるべきだと考えています。変更通知がどのように処理されるかがその場合、ビュー モデルでこれらすべてのクラスのラッパーを作成し、このプロパティ変更通知を実装する必要がありますか? これを行うと、ビジネス オブジェクトの数が増えた場合にビュー モデルのラッパーが多くなりませんか? この問題にどう取り組むか?デザイン レベルで間違いを犯したのでしょうか、それともこれらすべてを UI レベルで処理する必要がありますか?

どんな助けでも大歓迎です、前もって感謝します。

4

1 に答える 1

1

私はいつもそれをモデルに実装してきました。

  • データベース バックエンドまたはファイル システム バックエンドを使用する場合、ほとんどの場合、下位レベルに別のモデルがあります。したがって、ビューで使用されるモデルは、データを表示するためだけのものです。
  • インターフェイスは、INotifyPropertyChangedユーザー インターフェイスに完全に限定されているわけではありません。あなたはそれで多くのことをすることができます。WPF は単にそれを使用しますが、データベースやファイル システムなどの下位レベルで使用することもできます。

少し前に尋ねられたのと同様の質問: MVVM では、ViewModel または Model は INotifyPropertyChanged を実装する必要がありますか? ご覧のとおり、さまざまな意見もかなりあります。

于 2013-10-20T17:14:55.130 に答える