まず、長い闘争の末に MVVM パターンの本質を把握できていないことを恥ずかしく思い、質問せずにはいられません。
MVVMについて検索して検索しましたが、私には明らかな(そう思われる)レイヤーは、ViewおよびViewModelレイヤーのみです。
だから、ここに私が今まで把握してきたことをいくつかの小さな例で示します.参考までに、私はMySQLクエリを使用してデータを取得しています:
モデル
ここで何をすべきかは私には不明です。私はEmployee.csのこのクラスを持っています:
class Employee
{
public string Id { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
}
私の質問: EmployeeModel クラスの MySQL データベースからデータを取得するクエリを実行する必要がありますか? この回答について、データ アクセス レイヤーは MVVM のモデルとは別のものであると読みました。さらに、リポジトリを使用して、データ アクセス レイヤーから従業員のリストを要求できます。
その答えに基づいて、次のようになります。
- Employee.cs [オブジェクトのプロパティ定義]、
- EmployeeDataAccess.cs [MySQL から従業員データをフェッチする責任があります]
- EmployeeRepository.cs [EmployeeModel によって呼び出され、DA から従業員データを取得します]
- EmployeeModel.cs [検証などのビジネス ロジックを処理し、Employee.cs とほぼ同じプロパティで INotifyPropertyChanged を使用する場所]
- EmployeeViewModel.cs [EmployeeView のデータ コンテキスト]
- EmployeeView.cs [XAML]
従業員リストの 1 ページのすべてが間違っていますか?
長い質問で申し訳ありませんが、私が何か間違ったことを言った場合は、喜んで修正します.
現時点では本当に無知なので、新鮮な視点があれば大歓迎です。