私はMVVMを初めて使用しようとしているアプリケーションで作業しています。何かを読んだ後、私はモデルに何が入っているのか誤解しているかもしれないと思います。MVVMのモデル部分を作成する
私のアプリはすべて、データを取得して表示し、ユーザーに編集を許可し、変更があった場合に保存するよう要求しています。
私の現在の設定例です。私は従業員のグループ(「マネージャー」、「VP」など)を返すEmployeeデータを読んでいます。各グループには人のリストが含まれています。
public interface IEmployeeGroup : INotifyPropertyChanged
{
bool IsDirty { get; set; }
string GroupName { get; set; }
ObservableCollection<IPerson> People { get; set; }
}
public interface IPerson : INotifyPropertyChanged
{
bool IsDirty { get; set; }
string PersonName { get; set; }
int Id { get; set; }
}
これらのインターフェイスを実装する具体的なEmployeeGroupクラスとPersonクラスを作成しました。そして、それはすべて、指定されたプロパティを公開します。
これは私のモデルにあるすべてのものです。
マイビューモデルは、以下のインタフェースを実装しています:
public interface IEmployeeGroupsViewModel
{
ICommand AddEntryCommand { get; }
ICommand SaveCommand { get; }
ObservableCollection<IEmployeeGroup> EmployeeGroups { get; set; }
ObservableCollection<IPerson> People { get; set; }
}
ビューモデルは、実際のデータを取得するために呼び出しを行いEmployeeGroup人オブジェクトを作成し、その後に結合するビューのプロパティでそれらを返します。 。ユーザーが変更を保存したい場合、ビューモデルは変更を永続化するために呼び出します。
私のビューモデルではあまりにも多くを置いていますが、モデルにする必要がありますか?今私のモデルは何もしません、彼らはオブジェクトを表すクラスです。
私はここでオフトラックしている場合、誰かが私にいくつかのアドバイスを与えることができますか?上記のシナリオをどのように変更するのですか?
ありがとうございます。